用java语言判断一个数是不是质数?

来源:百度知道 编辑:UC知道 时间:2024/06/25 17:46:00
用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;//pn ∼ nln(n)
//for(var i=5001;i<=m;i+=2){
var i=