const int N=1000010;
int prime[N], np;
bool vis[N];
void get_prime(int l,int r)
{
np = 0;
memset(vis, 0, sizeof(vis));
for (int i = 0; i <r-l+1; ++i)
{
if (!vis[i]) prime[np++]=i;
for (int j = 0,t ; j < np && (t = prime[j]*(i+l)) < N; ++j)
{
vis[t] = 1;
if((i+l) % prime[j] == 0) break;
}
}
}
大数区间筛素数 线性
最新推荐文章于 2022-02-15 17:57:56 发布