就是用筛选法求出素数即可。
#include <bits/stdc++.h>
using namespace std;
int prime[1000000];
void buildprime(int n){
for(int i=2;i<=sqrt(n);i++){
if(prime[i]==0){
for(int j=i*i;j<=n;j+=i){
prime[j]=1;
}
}
}
}
int main()
{
int n; cin>>n;
buildprime(n);
for(int i=2;i<=n;i++){
if(prime[i]==0)
cout<<i<<endl;
}
return 0;
}