public static int countPrimes(int n) {
if (n == 1) return 0;
if (n == 2) return 0;
if (n == 3) return 1;
if (n == 4) return 2;
if (n == 5) return 2;
if (n == 6) return 3;
if (n == 7) return 3;
if (8 <= n && n <= 11) return 4;
if (n > 11) {
int count = 0;
for (int i = 11; i < n; i++) {
//if里面的判断条件是一个数是质数的必要不充分条件
if (i % 2 != 0 && i % 3 != 0 && i % 5 != 0 && i % 7 != 0) {
count++;
System.out.println(i);
}
}
return count + 4;
}
return 0;
}
本文介绍了一种用于计算小于给定整数n的质数数量的算法。通过一系列的条件判断,该算法能够快速确定一定范围内的质数个数。对于大于11的n值,算法采用循环遍历的方式检查每个数是否为质数,主要检查是否能被2、3、5、7整除。
516

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



