您的位置:首页 > 其它

[LeetCode]Count Primes

2015-10-15 09:28 295 查看
题目:给定一个正整数n,求出小于n的范围内素数的个数

分析:采用埃拉托斯特尼筛法,求出素数个数,注意

c++参考代码:

class Solution {

public:

int countPrimes(int n) {

vector<bool> num(n-1,true);

num[0]=false;

int count=0,s=sqrt(n);

for(int i=2;i<=s;i++)

{

if(num[i-1])

{

for(int j=i*i;j<n;j+=i)

{

num[j-1]=false;

}

}

}

for(int j=0;j<n-1;j++)

{

if(num[j])

count++;

}

return count;

}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: