【算法】求n以内的质数

时间:2022-08-08 11:02:45

质数的定义:在大于1的自然数中,除了1和它本身意外,无法被其他自然数整除的数。

思路:1.除了2的偶数都不是质数;2.n不能够被不大于根号n的任何质数整除,则n是一个质数

代码:

function get_prime($n){
$n = intval($n);
if($n <= 1){
return false;
}
$prime = [2];
for ($i = 3 ; $i < $n; $i += 2) {
$sqrt = intval(sqrt($i));
for ($j = 3; $j <= $sqrt; $j += 2) {
if($i % $j == 0){
break;
}
}
if($j > $sqrt){
array_push($prime, $i);
}
}
return $prime;
}