社区讨论

急救!!!!85分

B2141确定进制参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lr22mt4h
此快照首次捕获于
2024/01/06 20:58
2 年前
此快照最后确认于
2024/01/06 22:52
2 年前
查看原帖
CPP
#include<stdio.h>
int da(int a){
	long long sum=0,b[10005],cnt=0;
	while(a>0){
		cnt++;
		b[cnt]=a%10;
		a/=10;
	}
	for(int i=1;i<=cnt;i++){
		if(b[i]>sum) sum=b[i];
	} 
	return sum;
}
int njz(int a,int i){
	long long b[10005],cnt=0,sum=1,l=0,da=0;
	while(a>0){
		cnt++;
		b[cnt]=a%10;
		a/=10;
	}
	for(int j=1;j<=cnt;j++){
		l+=sum*b[j];
		sum*=i;
	} 
	return l;
}
int main(){
	long long q,p,r,cnt=0,z=0;
	scanf("%lld%lld%lld",&q,&p,&r);
	if(da(q)>da(p)&&da(q)>da(r)) z=da(q);
	else if(da(p)>da(q)&&da(p)>da(r)) z=da(p);
	else if(da(r)>da(q)&&da(r)>da(p)) z=da(r);
	for(int i=z;i<=16;i++){
		if(njz(q,i)*njz(p,i)==njz(r,i)){
			printf("%d",i);
			cnt=1;
			break;
		}
	}
	if(cnt==0) printf("0");
}

回复

0 条回复,欢迎继续交流。

正在加载回复...