模板-质数筛
埃氏筛法,时间复杂度O(nloglogn)。
std::vector<int> minp, prime;
void sieve(int n) {
minp.assign(n + 1, 0);
prime.clear();
for (int i = 2; i <= n; i++) {
if (minp[i] == 0) {
minp[i] = i;
prime.push_back(i);
for (int j = 2 * i; j <= n; j += i) {
if (minp[j] == 0) {
minp[j] = i;
}
}
}
}
}