<?php
$ss = 2;
$max = 1000;
$arr = array();
echo $max."以内的素数为:";
while ($ss < $max):
$boo = false;
foreach ($arr as $value):
if ($ss % $value == 0):
$boo = true;
break;
endif;
endforeach;
if (!$boo):
echo $ss." ";
$arr[count($arr)] = $ss;
endif;
$ss++;
endwhile;
echo "
";
?>
求解析下面这个php程序,感觉这个程序效率很低,求解答。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Chanran 2015-08-05 01:22关注
$a = 0;
$b = 0;
echo "1000以内的素数为:";
for ($i = 2; $i <=1000; $i++)
{
$spot = false;
$a++;
for ($j = 2; $j <= sqrt($i); $j++)
{
$b++;
if ($i % $j == 0)
{
$spot = true;
break;
}
}
if (!$spot)
echo $i." ";
}
echo "
";
echo "循环次数:".$a*$b."
";算法效率是这个比较高,但是上面的那种是什么思想,没学面向对象,这个理解不了。 先说一下我对上面的程序的看法:这里求素数的算法是2到1000的数,分别求余小于本身的素数,如果余数等于0便不是素数。 求素数这种算法能做到吗?
解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看