1 条题解
-
0
C :
#include<stdio.h> int main() { int a[10100],i,j,flag,m,n,i1,i2; a[1]=2;a[2]=3;m=2; for(i=6;i<=105000;i+=6) { i1=i-1; i2=i+1; flag=1; for(j=1;a[j]*a[j]<=i1;j++) if(i1%a[j]==0) { flag=0; break; } if(flag) a[++m]=i1; flag=1; for(j=1;a[j]*a[j]<=i2;j++) if(i2%a[j]==0) { flag=0; break; } if(flag) a[++m]=i2; } while(scanf("%d",&n)!=EOF) printf("%d\n",a[n]); return 0; }
C++ :
#include<stdio.h> #include<string.h> bool isprime[1000000]; int p[10000]; int main() { int i,temp,j=0,k; memset(isprime,true,sizeof(isprime)); isprime[0]=isprime[1]=false; for(i=2;i<1000000;i++) { if(isprime[i]==true) { p[j++]=i; if(j==10000) break; temp=2*i; while(temp<1000000) { isprime[temp]=false; temp+=i; } } } while(scanf("%d",&k)!=EOF) printf("%d\n",p[k-1]); return 0; }
- 1
信息
- ID
- 1131
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者