當前位置:編程學習大全網 - 遊戲軟體 - 用java語言判斷壹個數是不是質數?

用java語言判斷壹個數是不是質數?

下面是我用JavaScript寫的素數函數,供參考,大同小異

PrimeA=function(n,nth){/* 小於n的素數表

參數nth 指定返回第n個素數

*/

//var?t0=Time.now5();

/*

方法1:利用isPrime 廢棄!

var?t=[];

for(var?i=2;i<n+1;i++){

if(isPrime(i)){

t.push(i)

}

}

consolelog('方法1:耗時:'+(+Time.now5()-(+t0)));

return?t

*/

//方法2:利用篩法

var?p=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59];//自己往後補充,越多越好,可以加快檢測小素數的效率

if(nth?&&?n<=669){

return?p[n-1]

}

if(!nth?&&?n<2){

return?[]

}

if(n<=5000?&&?!nth){

for(var?i=0;i<100;i++){

var?j=p.indexOf(n-i);

if(j>-1){return?p.slice(0,j+1)};

}

return?p

}

var?m=nth?Math.ceil(n*Math.log(n)+1000):n; //pnnln(n)

// for(var?i=5001;i<=m;i+=2){

var?i=5001;

while(i){

var?t=Math.floor(Math.sqrt(i)),?pl=p.length;

for(var?j=0;j<pl;j++){//p.length

if(i%p[j]?==?0){

break

}else?if(p[j+1]>t){

p.push(i);

if(nth?&&?pl==n-1){

return?i

}

break;

}

}

if(!nth?&&?i>=n-1){

return?p

}

i+=2;

}

return?p

//方法3:Wilson測試

}

  • 上一篇:結婚喜宴給長輩敬酒的祝福語
  • 下一篇:企業文化學習心得體會精選例文【三篇】
  • copyright 2024編程學習大全網