题解
【基础】素数的最短距离
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main() { int t,n; bool a[1010]={1,1,0,0,1}; for(int i=2;i<1005;i++) for(int j=2;j<=i&&i*j<1005;j++) a[i*j]=1; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=0;;i++) { if(n-i>0&&a[n-i]==0) { printf("%d\n",n-i); break; } if(n+i<=1000&&a[n+i]==0) { printf("%d\n",n+i); break; } } } return 0; }
- 1