1.线性筛质数
i * primes[j] <= N 写作 primes[j] <= N / i
防爆int数据范围
int primes[N], cnt;
int st[N];
void get_primes(){
st[0] = st[1] = 1;
for(int i = 2; i < N; i ++){
if(!st[i]) primes[cnt ++] = i;
for(int j = 0; primes[j] <= N / i; j ++){
st[i * primes[j]] = 1;
if(i % primes[j] == 0) break;
}
}
}