#include <iostream>
using namespace std;
const int N=100010;
int primes[N],cnt;
bool st[N];
int n;
//埃氏算法O(nloglogn)
void get_primes(int n)
{
for(int i=2;i<=n;i++)
{
if(!st[i])
{
primes[cnt++]=i;
for(int j=i+i;j<=n;j+=i) st[j]=true;
}
}
for(int i=0;primes[i]!=0;i++) cout<<primes[i]<<" ";
puts("");
}
int main()
{
cin>>n;
get_primes(n);
cout<<cnt;
return 0;
}
相关文章
- 03-14牛客2020跨年场 C-最小互质数 筛法
- 03-14素数(质数)超快 埃拉托斯尼“筛法” 自带序号的数据类型
- 03-14X的因子链(筛质数、分解质因数、组合计数)————《信息学奥赛一本通》 , POJ
- 03-14数学知识——质数筛
- 03-14筛质数
- 03-14质数判断与质数筛法
- 03-14P5736 质数筛
- 03-14查找质数-欧拉筛法和埃氏筛
- 03-14数论——两种质数筛法
- 03-14线性筛质数