算法竞赛—欧拉筛素数(线性筛)

2022/1/30 17:11:39

本文主要是介绍算法竞赛—欧拉筛素数(线性筛),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

int n;//求1 ~ n之间的素数
int prime[N],cnt;//prime数组存放素数 cnt为prime的长度
int st[N];//数字i是否为素数


void euler(){
	for(int i=2;i<=n;i++){
		if(!st[i]){
			prime[++cnt]=i;
		}
		for(int j=1;j<=cnt&&prime[j]<=n/i;j++){
			st[i*prime[j]]=1;
			if(i%prime[j]) break;
		}
	}
	return ;
}


这篇关于算法竞赛—欧拉筛素数(线性筛)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程