#include<bits/stdc++.h>
using namespace std;
const long long maxn=100000;
bool judge[maxn];
int prime[maxn],cnt=0;
void sieve(int x){
memset(judge,1,sizeof(judge));
memset(prime,0,sizeof(prime));
judge[0]=judge[1]=0;
for(int i=2;i<=x;i++){
if(judge[i]==1){
prime[cnt++]=i;
for(int j=0;j<cnt&&i*prime[j]<=x;j++){
judge[i*prime[j]]=0;
if(i%prime[j]==0)
break;
}
}
}
return;
}
int main(){
int a,b,t=0;
cin>>b;
sieve(b);
for(int i=0;i<cnt;i++)
cout<<prime[i]<<" ";
return 0;
}
找不出问题,萌新求助大佬