3 条题解
-
0
#include<stdio.h> #include<stdlib.h> int su[200],cnt=0; void sushu()//1000内 { for(int i=2;i<=1000;i++) { int m=1; for(int j=2;j<i;j++) { if(i%j==0){m=0;break;} } if(m==0){continue;} if(m==1){su[cnt]=i;cnt++;} } } int main() { sushu(); int N; scanf("%d",&N); for(int i=1;i<=N;i++) { int x; scanf("%d",&x); int min=1000,y=0; for(int j=0;j<200;j++) { int c=(su[j]-x); if(abs(c)<min) { if((su[j+1]-x)==(x-su[j])){min=abs(c);y=j+1;} else{min=abs(c);y=j;} } } printf("%d\n",su[y]); } return 0; }
信息
- ID
- 179
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 702
- 已通过
- 201
- 上传者