如果是一个1e6范围内的数,这代码里面的n筛到多少合适啊大佬们qwq?
void shai1()
{
memset(isprime,1,sizeof(isprime));
isprime[1]=0;//不是质数就是0
for(int i=2;i<=n;i++)//isprime中到哪了
{//j是prime中枚举到第几个了
if(isprime[i])prime[++cnt]=i;
for(int j=1;j<=cnt&&i*prime[j]<=n;j++)
{
isprime[prime[j]*i]=0;
if(i%prime[j]==0)break;
}
}
}