204. Count Primes
Description:
Count the number of prime numbers less than a non-negative number, n.
求素数
class Solution {
public:
int countPrimes(int n)
{
if(n <= 2)
return 0;
vector<bool> a(n+1, false); //false代表是素数
for(int i = 2; i <= sqrt(n); i++)
{
if (a[i] == true)
continue;
for(int j = i; j <= (n-1) / i; j++)
a[i * j] = true; //乘积是非素数
}
int ret = 0;
for(int i = 2; i < n; i++)
{
if(a[i] == false)
ret++;
}
return ret;
}
};
本文介绍了一种计算小于非负整数n的素数数量的方法。通过筛选法标记合数,遍历数组统计素数个数。适用于算法初学者及进阶者。
704

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



