Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99025 | 王为治 | 确定进制 | C++ | 通过 | 100 | 0 MS | 256 KB | 924 | 2023-08-21 16:22:25 |
#include <bits/stdc++.h> using namespace std; int change(char c) { if('0'<= c && c <= '9')return c-'0'; else if('A' <= c && c <= 'Z')return c-'A'+10; } int changee(string s, int k) { int tmp,cnt; tmp = 0; cnt = 1; for(int i = s.length()-1; i >= 0; i--) { tmp += cnt*change(s[i]); cnt*=k; } return tmp; } signed main() { string a,b,c; cin >> a >> b >> c; //changee(s,k)k进制s转换为10进制 int B; int tmp1,tmp2,tmp3; int maxn = -0x3f3f3f3f; for(int i = 0; i < a.size(); i++) { maxn = max(maxn,change(a[i])); } for(int i = 0; i < b.size(); i++) { maxn = max(maxn,change(b[i])); } for(int i = 0; i < c.size(); i++) { maxn = max(maxn,change(c[i])); } for(B = maxn+1; B <= 16; B++) { tmp1 = changee(a,B); tmp2 = changee(b,B); tmp3 = changee(c,B); if(tmp1 * tmp2 == tmp3) { cout << B << endl; exit(0); } } return 0; }