90分求帮助
查看原帖
90分求帮助
1236622
carlviolet楼主2024/9/3 14:26
int mincount(long long int a,long long int b,long long int num) {//最小进制
	int count = 0;
	while (a > 0) {
		int tmp = a % 10;
		a /= 10;
		if (tmp > count) {
			count = tmp;
		}
	}
	while (b > 0) {
		int tmp = b % 10;
		b /= 10;
		if (tmp > count) {
			count = tmp;
		}
	}
	while (num > 0) {
		int tmp = num % 10;
		num /= 10;
		if (tmp > count) {
			count = tmp;
		}
	}
	return count +1;
}
int change(long long int a, int r) {//转换为十进制
	long long int out = 0;
	int count = 1;
	while (a > 0) {
		out += (a % 10) * count;
		count *= r;
		a /= 10;
	}
	return out;
}
int main() {
	long long int a, b, num;
	scanf_s("%lld %lld %lld", &a, &b, &num);
	int count = mincount(a,b,num);
	while (count <= 16) {
		if (change(a,count) * change(b,count) == change(num,count)) {
			printf("%d", count);
			return 0;
		}
		count++;
	}
	printf("%d", 0);
	return 0;
}
2024/9/3 14:26
加载中...