提交时间:2021-05-02 14:39:36

运行 ID: 18952

#include <bits/stdc++.h> using namespace std; bool ip(int a){ for(int i=2;i*i<=a;i++)if(a%i==0)return false; return true; } int m=INT_MAX,m2; int c(int a,int b) { return min(abs(a-b),min(a+(10-b),b+(10-a))); } int main() { int a; cin>>a; for(int i=99999;i>=2;i--) { if(ip(i)) { int s=c(a%10,i%10)+c(a/10%10,i/10%10)+c(a/100%10,i/100%10)+c(a/1000%10,i/1000%10)+c(a/10000,i/10000); if(s<m)m=s,m2=i; } } if(m2<10000)cout<<"0"; else if(m2<1000)cout<<"00"; else if(m2<100)cout<<"000"; else if(m2<10)cout<<"0000"; cout<<m2<<endl; }