90分呜呜呜,到达哪里有问题
查看原帖
90分呜呜呜,到达哪里有问题
1283182
_pluviophile_123楼主2024/3/7 16:43
#include<stdio.h>
#include<string.h>
int get_mi(int k,int n)
{
	if (n == 0) return 1;
	return k * get_mi(k, n - 1);
}
int get_decimal(int k,int x)
{
	int arr[40];
	int i = 0;
	while (x != 0)
	{
		arr[i] = x % 10;
		x /= 10;
		i++;
	}
	int ans = 0;
	for (int j = 0; j < i; j++)
	{
		if (arr[j] >= k)
		{
			ans = -1;
			break;
		}
		ans += arr[j] * get_mi(k, j);
	}
	return ans;
}
int main()
{
	int p, q, r;
	scanf("%d %d %d", &p, &q, &r);
	int flag = 0;
	int i;
	for (i = 2; i <= 16; i++)
	{
		int a = get_decimal(i, p);
		int b = get_decimal(i, q);
		int c = get_decimal(i, r);
		if (a == -1 || b == -1 || c == -1) continue;
		if (a*b == c)
		{
			flag = 1;
			break;
		}
	}
	if (flag == 1) printf("%d",i);
	if(flag==0) printf("%d",0);
}
2024/3/7 16:43
加载中...