用java写程序判断是否为素数

用java写程序判断是否为素数,第1张

public class test2 {

public static void main(String[] args) throws IOException {

int n=9;

int isPrime=1;

for(int i=2;i<n/2;i++)

{

if(n%i==0)

{

isPrime=0;

break;

}

}

if(isPrime==1)

Systemoutprintly("是素数");

else

Systemoutprintly("不是素数");

}

}

for (x = 2; x <= j; x++) {

if (y % x == 0) {

Systemoutprintln("此数不为素数");

break;

}

}

经过这个循环可以判断这个数是不是素数,如果循环完成(x从2到j)这说明这个数是素数;所以下面只需要判断一下x是否是大于 j ,如果大于这说明循环完成,这个数就是素数,如果x<j 这说明循环没有完成是通过break语句跳出来的,则这个数肯定不是素数。

判断number是否是素数有这么几种方法:

(1)用2至number-1之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。

(2)用2至number/2之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。

(3)用2至number的平方根之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数。

这3种的方法的效率是逐渐提高的。下面列出了第3种方法的实现:

import javautilScanner;

public class Test2 {

public static void main(String[] args) {

int number; // 输入的数字

Scanner input = new Scanner(Systemin);

Systemoutprintln("请输入数字");

number = inputnextInt(); // 输入数字

if(isPrimeNumber(number)){

Systemoutprintln(number + "是一个素数");

}

else{

Systemoutprintln(number + "是一个非素数");

}

}

public static boolean isPrimeNumber(int num){

if(num < 2){

Systemoutprintln("数据错误");

return false;

}

int k = (int)Mathsqrt(num); //num的平方根

int i;

for(i=2; i<=k; i++){ //依次用2k之间的数去整除num,如果没有一个数能被整除,说明num是素数

if(num % i == 0){

break;

}

}

if(i > k){

return true;

}

return false;

}

}

如果对你的程序进行修改,也可这样:

public static void main(String[] args) {

int number;// 输入的数字

int j = 2;

Scanner input = new Scanner(Systemin);

Systemoutprintln("请输入数字");

number = inputnextInt();// 输入数字

for(j=2;j<number;j++){

if(number%j == 0) {

Systemoutprintln("这不素数");

break;

}

}

if(j>=number)

Systemoutprintln("这是素数");

}

以上就是关于用java写程序判断是否为素数全部的内容,包括:用java写程序判断是否为素数、Java中用户输入一个数判断是否为素数d窗形式、java 判断是不是素数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9477458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存