您的位置:首页 > 其它

204. Count Primes

2016-06-07 22:02 183 查看
题目

Description:

Count the number of prime numbers less than a non-negative number, n.
分析
计算前n个数的素数个数,创建容量为n+2的bool数组,从2开始遍历,素数下标存储元素值为0,非素数为1,从2开始计数,并对n以前的2的倍数对应值置1,然后考虑3,以此类推,保证每次考虑某个素数时进行计数,同时将n以前的该素数倍数置1表示排除非素数,

class Solution {
public:
int countPrimes(int n) {
bool prime[n+2]={0};
int i,k,count=0;;
for(i=2;i<n;i++){
if(prime[i])
continue;
count++;
for(k=1;(k*i)<=n;k++){
prime[k*i]=1;
}
}
return count;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: