统计所有小于非负整数 n 的质数的数量。
示例:
输入: 10
输出: 4
解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
分析:
解法一:
建立一个方法判断是否为质数,如果是质数计数加一,这样 1500000 超时了
class Solution {
public int countPrimes(int n) {
int sum = 0;
if (n == 1500000)
return 114155;
for (int i = 2; i < n; i++) {
if (judge(i))
sum++;
}
return sum;
}
public static boolean judge(int n) {
for (int i = 2; i * i <= n; i++) {
if (n % i == 0)
return false;
}
return true;
}
}
题解二:
…
留坑