0
点赞
收藏
分享

微信扫一扫

埃氏筛选素数(C++)

WikongGuan 2022-01-09 阅读 162
#include<bits/stdc++.h>
using namespace std;

int vis[10000];

int main(){
	int n = 1000;
	int m = sqrt(n+0.5);
	for(int i=2;i<=m;i++) if(!vis[i]) 
	//i从2开始,将2的倍数都筛掉,下一次i从3开始,把3的倍数全都筛掉 
		for(int j=i*i;j<=n;j+=i) vis[j] = 1;//赋值为1的都为非素数 
			
	for(int i=2;i<n;i++) if(!vis[i]) printf("%d\n",i);
	return 0;
}
举报

相关推荐

0 条评论