Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
41779 老师 密码锁 C++ 解答错误 0 9 MS 248 KB 655 2022-06-18 14:15:54

Tests(0/5):


#include<bits/stdc++.h> using namespace std; int isPrime(int n){ if(n==0 || n==1) return 0; for(int i=2;i<=n/i;i++){ if(n%i==0) return 0; } return 1; } int change(int a,int b){ int t=abs(a-b); if(t>5) t=10-t; return t; } int changeTimes(int a,int b){ int ai[6]={0},bi[6]={0},ak=0,bk=0,ans=0; while(a) ai[++ak]=a%10,a/=10; while(b) bi[++bk]=b%10,b/=10; for(int i=1;i<=5;i++) ans+=change(ai[i],bi[i]); return ans; } int main(){ int n,mink=100,minn; cin>>n; for(int i=99997;i>=2;i--){ if(isPrime(i)){ int t=changeTimes(i,n); if(mink<t) mink=t,minn=i; } } cout<<minn<<endl; return 0; }


测评信息: