https://leetcode.com/problems/count-primes/discuss/
题目:求素数个数
思路:素数筛选,找出一个素数,将它的倍数全部标记为非素数。最后统计素数。
class Solution {
public:
int countPrimes(int n) {
vector<bool>primes(n,1);
primes[0]=primes[1]=0;
for(int x=0;x<sqrt(n);x++){
if(primes[x]){
for(int y=x+x;y<n;y+=x) primes[y]=0;
}
}
return count(primes.begin(),primes.end(),1);
}
};