提交时间:2022-06-25 09:47:04

运行 ID: 42182

#include<bits/stdc++.h> using namespace std; int i,x,ma=1000,xx[10],yy[10],ans[10]; int prime(int x) { if(x<2) return 0; for(i=2;i*i<=x;i++) if(x%i==0) return 0; return 1; } void check(int y) { int t=0,tot=0; memset(yy,0,sizeof(yy)); while(y) { yy[++t]=y%10; y/=10; } for(i=1;i<=5;i++) tot+=min(abs(yy[i]-xx[i]),abs(10+xx[i]-yy[i])); if(tot<ma) { ma=tot; for(i=1;i<=5;i++) ans[i]=yy[i]; } } int main() { int i,t=0; cin>>x; while(x) { xx[++t]=x%10; x/=10; } for(i=99999;i>=0;--i) { if(prime(i)==0) continue; check(i); } for(i=5;i>=1;i--) cout<<ans[i]; return 0; }