1 条题解
-
0
C :
#include<stdio.h> #include<math.h> int main() { int i,n,k; int a[1000]={0}; scanf("%d",&n); for(i=2;i<=n;i++) { if(a[i]!=0) continue; k=i+i; while(k<=n) { a[k]=1; k+=i; } } for(i=2;i<=n;i++) { if(a[i]==0) printf("%d\n",i); } return 0; }
C++ :
#include<iostream> #include<cmath> using namespace std; int a[10000]; int main() { int n; cin>>n; int t=sqrt(n); for (int i=1; i<=n; i++) a[i]=1; for (int i=2; i<=t; i++) //筛选法求素数表 if (a[i]) for (int j=2*i; j<=n; j+=i) a[j]=0; for (int i=2; i<=n; i++) if (a[i]) cout<<i<<endl; return 0; }
Python :
# coding=utf-8 n=int(input()) a=[1]*(n+1) for i in range(2,n+1): if a[i]: j=i*2 while j<n+1: a[j]=0 j+=i for i in range(2,n+1): if a[i]: print(i)
- 1
信息
- ID
- 12
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者