线性筛

线性筛是一种优秀的素数筛法,具体是用已存下的素数(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;
	}
}

留下评论

通过 WordPress.com 设计一个这样的站点
从这里开始