#include <bits/stdc++.h>
using namespace std;
const int maxn = 10000001;
int cnt = 1;
int vis[maxn],prime[maxn];
void init(int n){
vis[1] = 1;
for(int i = 2; i <= n; i++){
if(!vis[i]) prime[cnt++] = i;
for(int j = 1; j <= cnt && 1ll*prime[j]*i <= n; ++j){
vis[prime[j]*i] = 1;
if(i%prime[j] == 0) break;
}
}
}
欧拉筛素数
于 2022-09-16 08:09:52 首次发布