95分求助
查看原帖
95分求助
834133
CKA_Is_Cute楼主2023/5/25 16:09
#include<bits/stdc++.h>
using namespace std;
int jin[6]={10,11,12,13,14,15};
inline int Min(string p, string q, string r) {
    char MIN = *max_element(p.begin(), p.end());
    MIN = max(MIN, *max_element(q.begin(), q.end()));
    MIN = max(MIN, *max_element(r.begin(), r.end()));
    return (int)MIN - '0' + 1;
}
long long huan(string n,int i){
	long long ans=0,q=1;
	while(n.length()!=0){
		if(n[i]<='9')  ans+=q*(int)(n[n.length()-1]-'0');
		else ans+=q*jin[(int)(n[n.length()-1]-65)];
		q*=i;
		n=n.substr(0,n.length()-1);
	}
	return ans;
}
short jinzhi(string x,string y,string z){
	for(int i=Min(x,y,z);i<=16;i++){
		long long a1=huan(x,i);
		long long a2=huan(y,i);
		long long a3=huan(z,i);
		if(a1*a2==a3){
			return i;
		}
	}
	return 0;
}
int main(){
	string a,b,c;
	cin>>a>>b>>c;
	cout<<jinzhi(a,b,c);
	return 0;
}

哪错了?

?

2023/5/25 16:09
加载中...