#include<iostream>
#include<string.h>
using namespace std;
//const int N 1e9
#define N 10000000
bool notprime[N]={false};//第i个的数是不是素数
int prime[N];//存放素数
int cnt=0;
void init(){
cnt=0;
notprime[1]=1;
for(int i=2;i<N;i++){
if(notprime[i]==false)
prime[cnt++]=i;
for(int j=0;j<cnt&&prime[j]*i<N;j++){
notprime[i*prime[j]]=true;
if(i%prime[j]==0){
break;
}
}
}
}
int main(){
init();
int n;
cin>>n;
for(int i=0;i<n;i++){
cout<<prime[i]<<endl;
}
return 0;
}
欧拉素数筛(模板)
最新推荐文章于 2024-03-26 13:01:17 发布