永发信息网

java怎样判断一个数是不是质数

答案:2  悬赏:70  手机版
解决时间 2021-04-10 02:23
java怎样判断一个数是不是质数
最佳答案
质数就是除了1和数自身外不能被别的数整除;
用JAVA来做的话:
先判断这个数是不是是否大于3,如果小于或者等于3的话就是质数;
如果这个数大于3;利用循环将该数与小于该数的正整数进行取余,只要有一个数能被整除,则该数就不是质数.
if (n <= 3) {
return n > 1;
}
for(int i=2;iif(n%i == 0)
return false;
}
全部回答
由于大于2的质数一定是奇数(奇数又不一定都是质数),所以,在判断一个自然数是不是质数时,首先要看它是奇数还是偶数。如果是大于2的偶数,这个数肯定不是质数,而是合数;如果是奇数,那就有可能是质数。在这种情况下,一般使用以下两种方法:
  (1)查表法:
  主要是指查“质数表”。编制质数表的过程是:按照自然数列,第一个数1不是质数,因此要除外,然后按顺序写出2至500的所有自然数,这些数中2是质数,把它留下,把2后面所有2的倍数划去,2后面的3是质数,接着再把3后面所有3的倍数划去,如此继续下去,剩下的便是500以内的全部质数。
  最早使用上述方法来寻求质数的人,是古代希腊数学家埃拉托斯特尼,由于他在开始时,先把自然数写在一块蜡板上,把不是质数的数(合数)分别刺上一个孔,这样,在蜡板上就被刺上了许多象筛子一样的孔,后来,大家就把这种寻求质数的方法叫做“筛法”。
这类的质数表还可以编制成数字范围更大一些的,如1000以内质数表等。判断一个自然数是不是质数,如在表所规定的数字范围内,即可用查表的方法进行判断。
  (2)试除法:
  在手头上没有质数表的情况下,可以用试除法来判断一个自然数是不是质数。例如判断143、179是不是质数,就可以按从小到大的顺序用2、3、5、7、11……等质数去试除。一般情况下用20以内的2、3、5、7、11、13、17、19这8个质数去除就可以了。如143,这个数的个位是3,排除了被2、5整除的可能性,它各位数字的和是1+4+3=8,也不可能被3整除,通过口算也证明不能被7整除,当试除到11时,商正好是13,到此就可以断定143不是质数。
  对179试除过程如下:
  179÷2=59……2
  179÷3=66……1
  179÷5=35……4
  179÷7=25……4
  179÷11=16……3
  179÷13=13……10
  179÷17=10……9
  当179÷17所得到的不完全商10比除数17小时,就不需要继续再试除,而断定179是质数。这是因为2、3、5、7、11、13、17都不是179的质因数,因此,179不会再有比17大的质因数,或者说179不可能被小于10的数整除,所以,179必是质数无疑。
  综上所述,用试除法判断一个自然数a是不是质数时,只要用各个质数从小到大依次去除a,如果到某一个质数正好整除,这个a就可以断定不是质数;如果不能整除,当不完全商又小于这个质数时,就不必再继续试除,可以断定a必然是质数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
唐诗有哪些风派
猜诗谜 帮忙回答 谢谢啊
单选题在图a所示电路中,电流表A1和A2的指针
安哥拉的社会状态
美文摘抄一百字,10篇100字美文摘抄及赏析
求美版捉迷藏的百度云资源,谢谢
判断题由四条边围成的图形就是四边形.
其香居宾馆怎么去啊,有知道地址的么
dr()w f()nd b()Y b()ck c()ld括号填词
判断题我国把对外开放作为一项基本国策,开创
日立1p空调管温度传感器几k。
透析 医生不让多吃饭
我的世界怎么把门上锁,我的世界怎么给工作台
core I5能装mac os吗?
可乐正传电子书txt全集下载
推荐资讯
手机高速录音模式是什么
请教一下各位高手,埃及客户要CO原产地证是有
彼得潘段落,小飞侠彼得潘 台词
亚洲有那些地理之最
描写人假装摔跤的句子,描述孩子天天摔跤的句
-- Well, an apple pie, a salad, and anythi
I feel sure that qualification, ability a
罩在乳房上给孩子喂奶的东西叫什么
联想y471A-i3-2G内存-1G独显,想扩充内存,内
为什么不感冒,一吃冷的也会咳嗽
急!作文a talk to myself 怎么写啊
问下公对公帐户转帐问题,急啊~谢谢各位了
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?