#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#define ll long long
#define maxn 10000005
using namespace std;
int v[maxn],prime[maxn];
int n,tot;
void primes(int x){
memset(v,0,sizeof(v));
tot=0;
for(int i=2;i<=n;++i){
if(!v[i]){
v[i]=i;
++tot;
prime[tot]=i;
}
for(int j=1;j<=tot;++j){
if(prime[j]>v[i] || prime[j]>n/i) break;
v[i*prime[j]]=prime[j];
}
}
return;
}
int main(){
scanf("%d",&n);
primes(n);
for(int i=1;i<=tot;++i){
printf("%d ",prime[i]);
}
printf("\n");
return 0;
}
[板子]线性筛
猜你喜欢
转载自www.cnblogs.com/theOldChun/p/9927098.html
今日推荐
周排行