| Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
|---|---|---|---|---|---|---|---|---|---|
| 74571 | 陈路垚 | 密码锁 | C++ | Accepted | 100 | 10 MS | 252 KB | 612 | 2023-05-27 16:31:37 |
#include<bits/stdc++.h> using namespace std; int num,minx=99999,maxnum; int base_diff(int x,int y){ int d=y-x; int d1=x-y; if(d<0) d+=10; if(d1<0) d1+=10; return min(d,d1); } int diff(int x,int y){ int d=0,u=x,v=y; for(int i=0;i<5;i++){ d+=base_diff(u%10,v%10); u/=10; v/=10; } return d; } int is_p(int x){ for(int i=2;i*i<=x;i++){ if(x%i==0) return 0; } return 1; } int main(){ cin>>num; for(int i=99999;i>1;i--){ if(is_p(i)){ int d=diff(num,i); if(diff(num,i)<minx){ minx=d; maxnum=i; } } } printf("%05d",maxnum); return 0; }