PHP中关于判断一个数是否是素数的表单操作,有个地方不知道该怎么改

2024-11-26 23:19:52
推荐回答(2个)
回答1:

for语句缺少步长,你的代码会进入死循环,下面的语句:
for($i=1;$i<=$n1;){
应该修改为:
for($i=1;$i<=$n1;$i++){

回答2:

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;
  
}