题目描述】
【输入】
一行,包含三个整数p、q、r。 p、q、r的所有位都是数字,并且1 ≤ p、q、r ≤ 1,000,000。
【输出】
一个整数:即使得p×q=r成立的最小的B。如果没有合适的B,则输出0。
【输入样例】
6 9 42
【输出样例】
13
#include <bits/stdc++.h>
using namespace std;
int p,q,r;
long long TenSystem(int n,int s)
{
int sum=0,i=0;
while(n)
{
sum+=n%10*pow(s,i++); //按公式把s进制的n 转成十进制
n/=10;
}
return sum;
}
void whichSystem()
{
for(int i=2;i<=40;i++)
{
if( TenSystem(p,i)*TenSystem(q,i)==TenSystem(r,i))
{
cout<<i;
return;
}
}
cout<<0;
}
int main()
{
cin>>p>>q>>r;
whichSystem();
return 0;
}
标签:whichSystem,return,进制,int,信奥赛,long,通题,1413,sum From: https://www.cnblogs.com/nanshaquxinaosai/p/18393492