统计所有小于非负整数 n 的质数的数量。
示例:
输入: 10
输出: 4
解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
代码
int countPrimes(int n){
if(n<2) return 0;
int i,j,s[n],a=0;
for(i=0;i<n;i++) s[i]=0;
s[0]=1;
s[1]=1;
for(i=2;i<n;i++)
{
if(s[i]==0) {
j=i;
if(i<=n/i){
while(i*j<n)
{
s[i*j]=1;
j++;
}}
}
}
for(i=0;i<n;i++){
if(s[i]==0) a++;}
return a;
}