质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。
判断一个数是否是素数(质数)
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
boolean isPrime = true;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数");
int num = sc.nextInt();
if (num > 0) {
int k = (int) Math.sqrt(num);//k为num的正平方根,取整数
for (int i = 2; i <= k; i++) {
if (num % i == 0) {
isPrime = false;//不是素数
break;
}
}
}
if (isPrime) {
System.out.println(num + "是素数");
} else {
System.out.println(num + "不是素数");
}
}
}
输出1~1000之间的素数
思路:偶数肯定不是素数,所以递增的时候可以以奇数的形式递增,再在奇数中去掉非质数的数。
public class Test {
public static void main(String[] args) {
boolean isPrime = true;
int PrimeCount=0;
for (int i = 3; i <= 1000; i += 2) {
int k = (int) Math.sqrt(i);//k为num的正平方根,取整数
isPrime = true;
for (int j = 2; j <= k; j++) {
if (i % j == 0) {
isPrime = false;//不是素数
break;
}
}
if (isPrime) {
PrimeCount++;
System.out.print(i+"\t");
if(PrimeCount % 5 == 0){
System.out.println();
}
}
}
}
}

该博客介绍了如何使用Java编程语言判断一个数是否为素数,并展示了如何输出1到1000之间的所有素数。通过优化的循环结构和平方根判断,提高了算法效率。
1389

被折叠的 条评论
为什么被折叠?



