找到给定的两个大数(m,n)之间的质数 (1 <= m <= n <= 1000000000,n-m <= 100000)
我正在使用sieveOfEratosthenes算法。但是该解决方案不适用于大投入。 前-(10,1000000000)
function getRows($requestArray) {
if (isset($requestArray['keyword']) && $requestArray['keyword'] != '') {
$this->db->where .= " AND (field_name_by_which_you_want_search LIKE '%" . $requestArray['keyword'] . "%')";
$this->db->where .= " AND (field_name_by_which_you_want_search LIKE '%" . $requestArray['keyword'] . "%')";
}
$this->db->where($where);
if ($this->input->post('length') != '-1') {
$this->db->limit($this->input->post('length'), $this->input->post('start'));
}
$this->db->order_by('id','desc');
$query = $result->get('table_name')->result_array();
$count = $result->get('table_name')->num_rows();
return [$query, $count];
}
它显示超过大型输入的时间限制。 有没有更好的解决方案。
标记的解决方案提供了一些python脚本。
我正在寻找一种算法或Java代码来解决这个问题。