求素数的方法大佬们已经给得很多了,在这里只是选取其中的一种:
一个非素数n一定能找到一个小于sqrt(n)的整数被其整除。
找一下1000以内的质数:
public class PrimeNumber {
public static void main(String[] args) {
for (int num = 2; num < 1000; num++) {
//选取判定标志
boolean flag = true;
//定义除数
int chu = 2;
//判断除数是否小于sqrt(n)
while (chu * chu <= num){
if (num % chu == 0) {
flag = false;
break;
}
chu++;
}
if (flag) {
System.out.println(num + "是素数");
}
}
}
}
稍微改写一下就能判断输入的数是不是质数了:
public class PrimeNumber {
public static void main(String[] args) {
//获取键盘输入
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
Boolean bool = isPrimeNumber(number);
System.out.println(bool);
}
public static Boolean isPrimeNumber(int number) {
//选取判定标志
boolean flag = true;
//定义除数
int chu = 2;
while (chu * chu <= number){
if (number % chu == 0) {
flag = false;
break;
}
chu++;
}
return flag;
}
}