void s(int maxn) { for(int i=2;i<=maxn;i++)isprime[i]=1; for(int i=2;i<=maxn;i++) { if(isprime[i])prime[++cnt]=i; for(int j=1;j<=cnt && i*prime[j]<=maxn;j++) { isprime[i*prime[j]]=0; if(!i%prime[j])break; } } }
因为做题要用,才发现自己线性筛也不会了orz,吃枣药丸……
void s(int maxn) { for(int i=2;i<=maxn;i++)isprime[i]=1; for(int i=2;i<=maxn;i++) { if(isprime[i])prime[++cnt]=i; for(int j=1;j<=cnt && i*prime[j]<=maxn;j++) { isprime[i*prime[j]]=0; if(!i%prime[j])break; } } }
因为做题要用,才发现自己线性筛也不会了orz,吃枣药丸……