Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
74690 | 邢逸轩 | 密码锁 | C++ | 通过 | 100 | 28 MS | 260 KB | 658 | 2023-05-28 16:02:23 |
#include<bits/stdc++.h> using namespace std; string its(int a){ string s; while(a){ char c=a%10+'0'; s=c+s,a/=10; } while(s.size()<5){ s="0"+s; } return s; } int zhi(int n){ if(n==2) return 1; if(n%2==0||n==1) return 0; for(int i=3;i*i<=n;i+=2){ if(n%i==0) return 0; } return 1; } int tis(string s,string e){ int ans=0; for(int i=0;i<s.size();i++){ ans+=min( abs(s[i]-e[i]) , abs(10-abs(s[i]-e[i])) ); } return ans; } int ans=99999,anst=99999,n; int main(){ cin>>n; for(int i=ans;i>=1;i--){ int a=tis(its(i),its(n)); if(a<anst&&zhi(i)) ans=i,anst=a; } printf("%.05d",ans); return 0; }