代码题(2)— 统计所有小于非负整数 n 的质数的数量
质数也叫素数,只能被1和它本身整除的。
利用筛选法。
class Solution { public: int countPrimes(int n) { if(n < 3) return 0; int result = 0; vector<bool> isPrime(n+5); for(int i=0;i<isPrime.size();++i) isPrime[i] = true; isPrime[0] = false; isPrime[1] = false; for(int i=2;i<n;++i) { if(isPrime[i]) { result++; for(int j=i*2;j<n;j+=i) # 去除i的倍数 isPrime[j] = false; } } return result; } };