Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
41746 | 董承诺 | 密码锁 | C++ | 通过 | 100 | 9 MS | 252 KB | 600 | 2022-06-17 21:52:02 |
#include<bits/stdc++.h> using namespace std; int a,b=1000,c[10],d[10],e[10],f=0; int g(int a){ int i; if(a<2)return 0; for(int i=2;i*i<=a;i++) if(a%i==0)return 0; return 1; } void h(int g){ int f=0,i,j=0; memset(d,0,sizeof(d)); while(g){ d[++f]=g%10; g/=10; } for(int i=1;i<=5;i++) j+=min(abs(d[i]-c[i]),abs(10+c[i]-d[i])); if(j<b){ b=j; for(int i=1;i<=5;i++) e[i]=d[i]; } } int main(){ cin>>a; while(a){ c[++f]=a%10; a/=10; } for(int i=99999;i>=0;i--){ if(g(i)==0) continue; h(i); } for(int i=5;i>=1;i--) cout<<e[i]; return 0; }