Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
74816 陶俊宸 密码锁 C++ 通过 100 2 MS 328 KB 582 2023-06-01 20:56:23

Tests(5/5):


#include<cstdio> #include<math.h> #include<algorithm> using namespace std; bool st[100000]; int n,pn[10000],cnt,res,v,ans=0x3f3f3f3f,num; int dist(int a,int b){ res=0; for(int j=0;j<5;j++){ res+=min(abs(a%10-b%10),10-abs(a%10-b%10)); a/=10,b/=10; } return res; } int main(){ scanf("%d",&n); for(int i=2;i<100000;i++){ if(!st[i]){ pn[cnt++]=i; v=dist(n,i); if(v<=ans){ ans=v; num=i; } } for(int j=0;j<cnt&&i<=100000/pn[j];j++){ st[i*pn[j]]=true; if(!(i%pn[j])) break; } } printf("%05d",num); return 0; }


测评信息: