10000之内求素数
发布于 7小时前 作者 yakczh 75 次浏览 来自 分享

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

回到顶部