提交时间:2024-08-19 22:13:13

运行 ID: 168074

#include <iostream> #include <cstring> #include <cmath> using namespace std; long long to10(int n,char x[]) { int len=strlen(x); long long s=0; long long y=1; for(int i=len-1;i>=0;i--) { int t; if(x[i]>='A'&&x[i]<='Z') { t=x[i]-'A'+10; } else if(x[i]>='a'&&x[i]<='z') { t=x[i]-'a'+10; } else { t=x[i]-'0'; } s+=t*y; y*=n; } return s; } int jz(char x[]) { int len=strlen(x); int max=1; for(int i=0;i<len;i++) { int t; if(x[i]>='A'&&x[i]<='Z') { t=x[i]-'A'+10; } else if(x[i]>='a'&&x[i]<='z') { t=x[i]-'a'+10; } else { t=x[i]-'0'; } if(t>max) { max=t; } } return max+1; } int main() { char a[10000],b[10000],c[10000]; scanf("%s %s %s",a,b,c); int max=jz(a); int t=jz(b); if(t>max) { max=t; } t=jz(c); if(t>max) { max=t; } for(int i=max;i<37;i++) { if(to10(i,c)==to10(i,a)*to10(i,b)) { cout<<i; return 0; } } cout<<0; return 0; }