75分,#2#5#8#11#17 WA 不知为什么,求助
查看原帖
75分,#2#5#8#11#17 WA 不知为什么,求助
775551
caojiaming楼主2022/10/28 10:26
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
ull p,q,r,p1,q1,r1;
ull minn=-1,maxn=16;//maxn设为36也不行

ull todec(ull x,ull num)
{
    ull ans=0;
    std::string nus="";
    while(num)
    {
        char ping=(num%10)+'0';
        nus=ping+nus;
        num/=10;
    }
    std::reverse(nus.begin(),nus.end());
    while(nus!="")
    {
        int a=nus[0]-'0';
        ans*=x;
        ans+=a;
        nus.erase(0,1);
    }
    return ans;
}

int main()
{
	scanf("%llu%llu%llu",&p,&q,&r);
	p1=p;
	q1=q;
	r1=r;
	while(p)
	{
	    minn=max(minn,p%10+1);
	    p/=10;
	}
	while(q)
	{
	    minn=max(minn,q%10+1);
	    q/=10;
	}
	while(r)
	{
	    minn=max(minn,r%10+1);
	    r/=10;
	}
	for(ull i=minn;i<=maxn;i++)
	{
	    if(todec(i,p1)*todec(i,q1)==todec(i,r1))
	    {
	        std::cout<<i;
	        return 0;
	    }
	}
	std::cout<<"0";
	return 0;
}
2022/10/28 10:26
加载中...