线性筛是一种优秀的素数筛法,具体是用已存下的素数(2~最小素因子)与新数的积去筛掉合数。
for(int i=2;i<=N;i++)
{
if(!fl[i])pr[++pr[0]]=i;
for(int j=1;j<=pr[0];j++)
{
if(pr[j]*i>N)break;
fl[pr[j]*i]=1;
if(!(i%pr[j]))break;
}
}
线性筛是一种优秀的素数筛法,具体是用已存下的素数(2~最小素因子)与新数的积去筛掉合数。
for(int i=2;i<=N;i++)
{
if(!fl[i])pr[++pr[0]]=i;
for(int j=1;j<=pr[0];j++)
{
if(pr[j]*i>N)break;
fl[pr[j]*i]=1;
if(!(i%pr[j]))break;
}
}