Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99020 | 梁晨熙 | 确定进制 | C++ | 通过 | 100 | 0 MS | 248 KB | 1055 | 2023-08-21 16:20:13 |
#include<bits/stdc++.h> using namespace std; int solvea(string s,int p){ int x=1,ans=0; for(int i=s.size()-1;i>=0;i--){ if(s[i]>='A'){ ans+=(s[i]-'A'+10)*x; } else ans+=(s[i]-'0')*x; x*=p; } return ans; } string solveb(int t,int r){ string ans=""; while(t!=0){ int f=t%r; t/=r; if(f<10){ ans=((char)(f+'0'))+ans; } else{ ans=((char)((f-10)+'A'))+ans; } } return ans; } int main(){ string a,b,c; cin>>a>>b>>c; int minn=0; for(int i=0;i<a.size();i++){ if(a[i]>='A'){ minn=max(minn,a[i]-'A'+10); } else{ minn=max(minn,a[i]-'0'); } } for(int i=0;i<b.size();i++){ if(b[i]>='A'){ minn=max(minn,b[i]-'A'+10); } else{ minn=max(minn,b[i]-'0'); } } for(int i=0;i<c.size();i++){ if(c[i]>='A'){ minn=max(minn,c[i]-'A'+10); } else{ minn=max(minn,c[i]-'0'); } } for(int i=minn+1;i<=16;i++){ int d=solvea(a,i); int e=solvea(b,i); int f=solvea(c,i); if(d*e==f){ cout<<i<<endl; break; } } return 0; }