2 条题解

  • 0
    @ 2025-1-1 12:34:11
    #include <iostream>
    using namespace std;
    
    // 快速幂取模函数,计算 (base^exponent) % mod
    int fastPower(int base, int exponent, int mod) {
        int result = 1;
        base %= mod;
        while (exponent > 0) {
            if (exponent & 1) {
                result = (result * base) % mod;
            }
            base = (base * base) % mod;
            exponent >>= 1;
        }
        return result;
    }
    
    int main() {
        int p, b, n;
        cin >> p >> b >> n;
        for (int l = 0; l < p; l++) {
            if (fastPower(b, l, p) == n) {
                cout << l << endl;
                return 0;
            }
        }
        cout << -1 << endl;
        return 0;
    }
    

    信息

    ID
    61
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    213
    已通过
    7
    上传者