1 条题解

  • 0
    @ 2025-3-27 14:47:09
    #include <bits/stdc++.h>
    #define int long long
    using namespace std;
    int p, q, r;
    // 返回十进制的 x 的这些数字
    // 如果是 B 进制
    // 对应的十进制数
    // 1000 100 10 1
    // B^3  B^2 B^1 B^0
    int cal(int x, int B)
    {
        int BB = 1; // 当前个位对应的 B 进制权值
        int res = 0;
        while (x > 0)
        {
            // 避免不符合进制要求
            if (x % 10 >= B)
                return 0;
            res += (x % 10) * BB;
            x /= 10;
            BB *= B;
        }
        return res;
    }
    signed main()
    {
        cin >> p >> q >> r;
        for (int B = 2; B <= 16; B++)
        {
            if (cal(p, B) * cal(q, B) == cal(r, B) &&
                cal(r, B) != 0)
            {
                cout << B;
                return 0;
            }
        }
        cout << 0;
        return 0;
    }
    
    • 1

    信息

    ID
    8742
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    9
    已通过
    1
    上传者