不想写了,反正原理还没有自己推出来过,就这样吧,如果哪天整清楚了我再补上
#include<bits/stdc++.h>
using namespace std;
bool ispri[1009];
long long pri[1009];
const long long MAXN=1e3;
long long kd(){
int x=0;int f=1;char ch=getchar();
while(isdigit(ch)==false){if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch)!=false){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
return x*f;
}
long long select_prime(){
long long topri=0;
for(int i=2;i<=MAXN;i++){
if(ispri[i]==false)pri[++topri]=i;
for(int j=1;j<=topri&&pri[j]*i<=MAXN;j++){
ispri[pri[j]*i]=true;
if(i%pri[j]==0)break;//特色哦!!!好棒捏!!!
}
}
return topri;
}
int main(){
long long n=select_prime();
//printf("%d",ispri[n]);
for(int i=1;i<=45;i++){
printf("%d\n",pri[i]);
}
}