提交时间:2023-06-01 20:56:23
运行 ID: 74816
#include<cstdio> #include<math.h> #include<algorithm> using namespace std; bool st[100000]; int n,pn[10000],cnt,res,v,ans=0x3f3f3f3f,num; int dist(int a,int b){ res=0; for(int j=0;j<5;j++){ res+=min(abs(a%10-b%10),10-abs(a%10-b%10)); a/=10,b/=10; } return res; } int main(){ scanf("%d",&n); for(int i=2;i<100000;i++){ if(!st[i]){ pn[cnt++]=i; v=dist(n,i); if(v<=ans){ ans=v; num=i; } } for(int j=0;j<cnt&&i<=100000/pn[j];j++){ st[i*pn[j]]=true; if(!(i%pn[j])) break; } } printf("%05d",num); return 0; }