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

用java语言判断一个数是不是质数?(任意一个数字)小菜新学高手请写出源代码... 用java语言判断一个数是不是质数?(任意一个数字)
小菜新学 高手请写出源代码
展开
 我来答
zzllrr小乐
高粉答主

推荐于2018-07-21 · 小乐图客,小乐数学,小乐阅读等软件作者
zzllrr小乐
采纳数:20147 获赞数:78786

向TA提问 私信TA
展开全部

下面是我用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=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测试


}
fancyivan
推荐于2016-01-08 · TA获得超过837个赞
知道小有建树答主
回答量:633
采纳率:0%
帮助的人:435万
展开全部
设要判断的数为x.
判断质数的方法:

x除2到sqrt(x),如果有一个及以上的数可以被整除,则不是质数,反之则是质数.

boolean flag = true;
if(x<4)
{
if(x==2)
flag = false;
}
else
{
for(int i=2;i<(int)sqrt(x);i++)
{
if(x%i==0)
flag = false;
}
}

if(flag)
System.out.println("Yes");
else
System.out.println("No");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祖国万岁_万岁
2008-08-27 · 超过13用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:0
展开全部
用来判断的方法的代码如下,输入一个数,是质数就返回true不是就返回false:
public static boolean panDuan(long x){ //判断输入的参数x是否为质数
for(int i = 2; i < x; i++){
if(x % i == 0){//假如 i 能整除x
return false;//不是质数,返回false
}
}
return true;//假如那个范围的 i 都整除不了x,是质数,返回true

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5669025
2008-08-27 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:0
展开全部
int a;
for (int i = 1; i < 1000; i++) {
for (a = 2; a <= (int)i/2; a++) {
if (i % a == 0) {
break;
}

}
if (a > (int)i/2 ) {
System.out.println(i);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
roserouge
2008-08-27 · TA获得超过462个赞
知道小有建树答主
回答量:1554
采纳率:0%
帮助的人:486万
展开全部
筛子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式