提交时间:2024-01-26 14:32:18

运行 ID: 128963

#include<bits/stdc++.h> using namespace std; int n=100000,prime[100005],cnt; bool a[100005]; int prime_init(int n,int prime[],bool a[],int cnt=0){ for(int i=2;i<=n;i++)a[i]=1; for(int i=2;i<=n;i++){ if(a[i])prime[++cnt]=i; for(int j=1;j<=cnt&&i*prime[j]<=n;j++){ a[i*prime[j]]=0; if(i%prime[j]==0)break; } } return cnt; } int main(){ cnt=prime_init(n,prime,a); for(int i=1;i<=cnt;i++)cout<<prime[i]<<(i==cnt?'\n':' '); return 0; }