输入3个数相加,问你这是几进制?不会超过16进制,可能为2~16进制,用strsol函数直接把某进制转换成10进制,然后枚举判断,记得包含cstdlib头文件
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
char a[10],b[10],c[10];
int main(){
int n,base,x,y,z;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%s %s %s",a,b,c);
base=2;
while(base<17){
x=strtol( a,'\0',base);
y=strtol( b,'\0',base);
z=strtol( c,'\0',base);
if(x*y == z && x != 0 && y != 0){
printf("%d\n",base);
break;
}
base++;
}
if(base==17) printf("0\n");
}
return 0;
}