Chanran 2015-08-05 00:55 采纳率: 75%
浏览 1424

求解析下面这个php程序,感觉这个程序效率很低,求解答。

<?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 "
";
?>

  • 写回答

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 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看