中易网

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

答案:2  悬赏:0  
解决时间 2021-01-15 15:19
  • 提问者网友:欺烟
  • 2021-01-14 22:12
PHP中关于判断一个数是否是素数的表单操作,有个地方不知道该怎么改
最佳答案
  • 二级知识专家网友:雪起风沙痕
  • 2021-01-14 23:44
for语句缺少步长,你的代码会进入死循环,下面的语句:
for($i=1;$i<=$n1;){
应该修改为:
for($i=1;$i<=$n1;$i++){
追问:我更改之后还是没法输出,兄弟能帮我看下整段代码哪里出错,改了能够运行吗?
追答:实在不习惯你的编程,改得比较多,在我的服务器上测试通过:
  $c=0;
  $n1=$trans="";
  if($_POST){
   $n1=$_POST['n1'];
    for($i=2;$i<$n1;$i++){
      if($n1%$i==0){
       $c++;
      }
    }
    echo "$n1".($c?'不':'')."是一个素数";
  }

echo <<
END;
?>怕你粘贴的时候错了符号,附件传一份。
 
全部回答
  • 1楼网友:刀戟声无边
  • 2021-01-15 00:35

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;
  
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息