10000之内求素数
nodejs 版本
function sushu(n){
var result=[];
for(var i=2;i<=n;i++){
var f=true;
var limit=parseInt( Math.pow(i,0.5)+1);
for(var j=2;j<=limit;j++){
if (i%j==0){
f=false;
break;
}
}
if (f){
result.push(i);
}
}
return result;//#print_r($result);
}
var start=(new Date()).getTime();
var b=sushu(10000);
console.log( ((new Date()).getTime()-start)/1000);
console.log(b.length);
运行时间0.031 php5.6
<?php
function sushu($n){
$result=[];
for($i=2;$i<=$n;$i++ ){
$f=true;
$limit=intval(pow($i,0.5)+1);
#printf("\n".' %s -> %s ',$i,$limit);
for ( $j=2;$j<= $limit; $j++){
if ($i%$j==0){
$f=false;
break;
}
}
if ($f){
$result[]=$i;
}
}
return $result;#print_r($result);
}
$start=microtime(true);
$result=sushu(10000);
echo microtime(true)-$start;
echo "\n";
print_r(count($result));
#print_r($result);
运行时间 0.017982959747314