【模板】线性筛素数

来源:互联网 发布:傻强是不是卧底 知乎 编辑:程序博客网 时间:2024/06/04 19:54

题目描述:

输出1~N的所有质数。

样例输入:

5

样例输出:

2 3 5

数据范围:

2<=N<=1000000



#include<iostream>using namespace std;int prime[1000000];bool f[1000000];int main(){int n,cnt=0;cin >>n;for (int i=0;i<=n;++i) f[i]=true;for (int i=2;i<=n;++i){if (f[i]){prime[cnt]=i;++cnt;} for (int j=0;j<=cnt&&i*prime[j]<=n;++j){f[i*prime[j]]=false;if (i%prime[j]==0) break;}}for (int i=0;i<cnt;++i) cout<<prime[i]<<' ';return 0;}


原创粉丝点击