提交时间:2022-06-11 15:17:25

运行 ID: 41221

#include<bits/stdc++.h> using namespace std; int n,c,a[5]={0,0,0,0,0},b[5]={0,0,0,0,0},mins=10010,ans; int check(int a){ for(int i=2;i<=a/i;i++){ if(a%i==0) return 0; } return 1; } int cs(int i[],int j[]){ int ans=0; for(int i=0;i<=4;i++){ if(b[i]==0) b[i]+=10; ans+=abs(a[i]-b[i]); } return ans; } int main(){ cin>>n; while(n){ int i=0; a[i]=n%10; n/=10; i++; } int mins=10000,ans=0; for(int i=99999;i>=1;i--){ int m=i; if(check(m)==1){ while(m){ int j=0; b[j]=m%10; m/=10; j++; } if(mins<cs(a,b)){ ans=max(ans,i); mins=cs(a,b); } } for(int j=0;j<=4;j++){ b[j]=0; } } cout<<ans; return 0; }