进制转换
简单
AC代码
//进制转换
#include <iostream>
#include <cmath>
using namespace std;
int Min;
int calc(int i,int num) {//进制转换
int j=0, ans = 0, tmp;
while (num) {
tmp = num % 10;//低位
if (Min < tmp)//Min要大于最小数位
Min = tmp;
ans += tmp * pow(i, j);
num /= 10;
j++;
}
return ans;
}
int main() {
int t, p, q, r;
cin >> t;
while (t--) {
int i, tmp1=0, tmp2=0,sum;
Min = 0;//存储最小进制
cin >> p >> q >> r;
for (i = 2; i <= 16; i++) {
tmp1 = calc(i, p);
tmp2 = calc(i, q);
sum = calc(i, r);
if (i <= Min) continue;
if (tmp1*tmp2 == sum)
break;
}
if (i <= 16)
cout << i << endl;
else
cout << 0 << endl;
}
return 0;
}