数论板子
筛法:
vector<int>prime;
bool vis[maxn];
void initial() {
for (int i = 2; i < maxn ; ++i) {
if (!vis[i]) prime.push_back(i);
for (int j = 0,size=prime.size(); j < size; ++j) {
if (i * prime[j] >= maxn) break;
vis[i * prime[j]] = true;
if (i % prime[j] == 0) break;
}
}
} 
查看19道真题和解析