1 条题解
-
-1
#include<bits/stdc++.h> using namespace std; const int N =1e8+10; int vt[N],k; int pri[N]; int main(){ vt[1]=1;vt[0]=1;int n;cin>>n; for(int i=2;i<=n;i++){ if(vt[i]==0) pri[k++]=i; for(int j=0;j<k;j++){ if(i*pri[j]>n) break; //超出范围 vt[i*pri[j]]=1; if(i%pri[j]==0) break; //倍数也跳出 } } for(int i=0;i<k;i++){ cout<<pri[i]<<" "; } }
信息
- ID
- 402
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 140
- 已通过
- 5
- 上传者