for语句缺少步长,你的代码会进入死循环,下面的语句:
for($i=1;$i<=$n1;){
应该修改为:
for($i=1;$i<=$n1;$i++){
for 循环判断的太多了 影响性能, 还有没有判断小于二的数
下面我给的答案:
function is_prime(int $n): bool {
if($n < 2) {
return false;
exit;
}
if ($n == 2){
return true;
exit;
}
for ($i=2; $i++; $i <= (($n+1)/2)){
if(!($n/$i)){
return false;
exit;
}
}
return true;
}