题目:
Description:
Count the number of prime numbers less than a non-negative number, n.
分析:计算出一个素数表,然后计算出小于n的素数个数。
代码:
class Solution {
public:
int countPrimes(int n) {
vector<bool> ispri(n+1,true);
if(n==1) return 0;
ispri[1]=false;
for(int i=2; i<sqrt(n); i++)
{
if(ispri[i])
{
for(int j=2; j<=(n/i); j++)
{
ispri[i*j]=false;
}
}
}
int ans=0;
for(int i=1; i<n; i++)
{
if(ispri[i])
ans++;
}
return ans;
}
};