统计所有小于非负整数 n 的质数的数量。
示例:
输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
class Solution {
public:
int countPrimes(int n) {
vector<bool> f(n, false);
for (int i = 2; i * i <= n; ++i)
{
if (!f[i])
{
for (int j = i * i; j < n; j += i)
f[j] = true;
}
}
int cnt = 0;
for (int i = 2; i < n; ++i)
{
if (!f[i])
cnt++;
}
return cnt;
}
};