90分求助!!救救孩子吧!(#°Д°)
查看原帖
90分求助!!救救孩子吧!(#°Д°)
553703
Happy_First楼主2023/7/22 21:02

这是代码

#include<bits/stdc++.h>
using namespace std;
int p,q,r;
int Max=2;
void zui(){						//判断最小的进制数 
	int a=p,b=q,c=r;
	while(a!=0||b!=0||c!=0){
		Max=max(Max,max(a%10,max(b%10,c%10)));
		a/=10;
		b/=10;
		c/=10;
	}
}
bool x_x(int num){
	int a=p,b=q,c=r;			
	int a_10=0,b_10=0,c_10=0;
	int ans=0;					//记录数位	 
	int base=0;
	while(a!=0||b!=0||c!=0){	//n进制转10进制 
		int s_w=pow(num,base);
		a_10=(a%10)*s_w+a_10;
		b_10=(b%10)*s_w+b_10;
		c_10=(c%10)*s_w+c_10;
		a/=10;
		b/=10;
		c/=10;
		base++;
	}
	ans=a_10*b_10;
	if(ans==c_10)return true;
	else return false;
} 
void P_d(int num){				//递归枚举n进制 
	if(x_x(num)){					//结束条件 
		cout<<num<<endl;
		return ;
	}
	if(num>=17){
		cout<<0<<endl;
		return ;
	}
	num++;
	P_d(num);
}
int main(){
	cin>>p>>q>>r;
	zui();
	P_d(Max+1);
	return 0;
}

这里是提交记录

2023/7/22 21:02
加载中...