「java是否质数」JAVA质数
本篇文章给大家谈谈java是否质数,以及JAVA质数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用 java 怎么判断一个数是否为质数?
- 2、Java 判断质数的方法
- 3、JAVA 编程方法解决“ 输入一个数判断它是否是质数”
- 4、java怎样判断一个数是不是质数
- 5、用java语言判断一个数是不是质数?
用 java 怎么判断一个数是否为质数?
质数:
public static boolean isPrime(int N){if( N 2 ) return false;
for( int i = 2 ; i*i = N; i++){if( N % i == 0) return false;return true;}
JAVA 编程方法:
public static void main(String[] args) {// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);for(int i=0;i100;i++){
System.out.print("请输入数字:");int num1 = input.nextInt();if(num1==2||num1==3){
System.out.println(num1+"是质数");}else if(num1%2!=0(num1+1)%2==0){
System.out.println(num1+"是质数");}else{System.out.println(num1+"不是质数");
Java 判断质数的方法
public static void main(String[] args) {
int count=0;
int prime=1;
while(count100){
while(true){
prime++;
if(isPrime(prime)){
System.out.print(prime+"||");
count++;
if(count%10==0){
System.out.println(" ");
break;
}
}
}
}
}
public static boolean isPrime(int n){
for(int i=2;in;i++){
if(n%i==0){
return false;
}
}
if(n==1){
return false;
}
return true;
}
1、Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2、Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。
3、用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2010年Oracle公司收购Sun Microsystems。
JAVA 编程方法解决“ 输入一个数判断它是否是质数”
else
if(num1%2!=0(num1+1)%2==0){
System.out.println(num1+"是质数");
}
else{
System.out.println(num1+"不是质数");
15%2=1,
(15+1)%2=0
-
15是质数???
修改:
//前面略
else
{
int
flag=1;
for(int
j=2;
j*j=num1;
j++)//这是质数的判断方法,只要除到这个数的开根号的数为止即可
if
(num1%j==0){System.out.println(num1+"不是质数");
flag=0;
break;}
if(flag)
System.out.println(num1+"是质数");
}
//后面略
java怎样判断一个数是不是质数
由于大于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必然是质数。
用java语言判断一个数是不是质数?
下面是我用JavaScript写的素数函数,供参考,大同小异
PrimeA=function(n,nth){/* 小于n的素数表
参数nth 指定返回第n个素数
*/
//var t0=Time.now5();
/*
方法1:利用isPrime 废弃!
var t=[];
for(var i=2;in+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 n2){
return []
}
if(n=5000 !nth){
for(var i=0;i100;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;jpl;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测试
}
java是否质数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA质数、java是否质数的信息别忘了在本站进行查找喔。
发布于:2022-12-20,除非注明,否则均为
原创文章,转载请注明出处。