一个很显尔易见的算法不同高效率不同的例子
上一篇 /
下一篇 2006-11-16 01:00:02
今天看perl的
教程里面有个求质数的例子,后面的练习要求提高例子
效率的题,以下是代码:
<?php
//第一个算法
$maxprimes = 100;
$value = 0;
$count = 0;
$f = 0;
while ($count < $maxprimes) {
$value++;
$composite = 0;
for ($i=2; $i<$value; $i++) {
for ($j=$i;$j<$value ; $j++) {
$f++;
if ($j*$i==$value) {
$composite = 1;
break;
}
}
}
if (! $composite) {
$count++;
print "$value is prime<br>";
}
}
print $f;
//第二个算法
$maxprimes = 100;
$value = 0;
$count = 0;
$f = 0;
while ($count < $maxprimes) {
$value++;
$composite = 0;
if (($value % 2)==0 && $value>2)
{
$composite = 1;
}
else
{
for ($i=2; $i<$value; $i++) {
$f++;
if ($value%$i==0) {
$composite = 1;
break;
}
}
}
if (! $composite) {
$count++;
print "$value is prime<br>";
}
}
print $f . "<br>";
?>
第一个算法是书上的,第二个是优化后的
第一个循环次数23449583,第一个循环次数24110。
导入论坛
收藏
分享给好友
管理
举报
TAG:
php
效率