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;
?>怕你粘贴的时候错了符号,附件传一份。
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;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯