java 判断是不是素数public static void main(String[] args) {int number;// 输入的数字int j = 2; Scanner input = new Scanner(System.in);System.out.println("请输入数字");number = input.nextInt();// 输入数字for(j=2;j
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 03:41:27
java 判断是不是素数public static void main(String[] args) {int number;// 输入的数字int j = 2; Scanner input = new Scanner(System.in);System.out.println("请输入数字");number = input.nextInt();// 输入数字for(j=2;j
java 判断是不是素数
public static void main(String[] args) {
int number;// 输入的数字
int j = 2;
Scanner input = new Scanner(System.in);
System.out.println("请输入数字");
number = input.nextInt();// 输入数字
for(j=2;j
java 判断是不是素数public static void main(String[] args) {int number;// 输入的数字int j = 2; Scanner input = new Scanner(System.in);System.out.println("请输入数字");number = input.nextInt();// 输入数字for(j=2;j
判断number是否是素数有这么几种方法:
(1)用2至number-1之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数.
(2)用2至number/2之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数.
(3)用2至number的平方根之间的所有数去整除number,如果有一个能被整除,说明number是非素数;除非所有的数都不能被整除,才说明number是素数.
这3种的方法的效率是逐渐提高的.下面列出了第3种方法的实现:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
int number; // 输入的数字
Scanner input = new Scanner(System.in);
System.out.println("请输入数字");
number = input.nextInt(); // 输入数字
if(isPrimeNumber(number)){
System.out.println(number + "是一个素数");
}
else{
System.out.println(number + "是一个非素数");
}
}
public static boolean isPrimeNumber(int num){
if(num < 2){
System.out.println("数据错误");
return false;
}
int k = (int)Math.sqrt(num); //num的平方根
int i;
for(i=2; i k){
return true;
}
return false;
}
}
如果对你的程序进行修改,也可这样:
public static void main(String[] args) {
int number;// 输入的数字
int j = 2;
Scanner input = new Scanner(System.in);
System.out.println("请输入数字");
number = input.nextInt();// 输入数字
for(j=2;j=number)
System.out.println("这是素数");
}