Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
41294 张志鹏 密码锁 C++ 解答错误 0 9 MS 252 KB 819 2022-06-11 16:54:11

Tests(0/5):


#include<bits/stdc++.h> using namespace std; int a[6]; int n; int an[6]; int ans1=100000,ans2; int check(int x){ for(int i=2;i*i<=x;i++){ if(x%i==0) return 0; } return 1; } int main(){ cin>>n; an[5]=n%10; an[4]=(n%100-an[5])/10; an[3]=(n%1000-an[4]*10-an[5])/100; an[2]=(n%10000-an[3]*100-an[4]*10-an[5])/1000; an[1]=n/10000; for(int i=99999;i>=2;i--){ if(check(i)){ a[5]=i%10; a[4]=(i%100-a[5])/10; a[3]=(i%1000-a[4]*10-a[5])/100; a[2]=(i%10000-a[3]*100-a[4]*10-a[5])/1000; a[1]=i/10000; int t=0; for(int j=1;j<=5;j++){ if(a[j]>an[j]){ t=t+min(a[j]-an[j],an[j]+10-a[j]); }else t=t+min(an[j]-a[j],a[j]+10-an[j]); } if(t<ans1){ ans1=t,ans2=i; cout<<t<<" "<<i<<endl; } } } printf("%.5d",ans2); return 0; }


测评信息: