线性筛套一下模板
代码
class Solution {
public:
int countPrimes(int n) {
if (n < 2) return 0;
vector<int> arr(n , 0);
for (int i = 2; i < n;i ++) {
if (!arr[i]) arr[++arr[0]] = i;
for (int j = 1;j <= arr[0]; j++) {
if (i * arr[j] >= n) break;
arr[i * arr[j]] = 1;
if (i % arr[j] == 0) break;
}
}
return arr[0];
}
};