大数乘法 也就是 大数幂乘法

我们 可以 通过 数学关系 可得

一个关系

http://lx666.xiaopangkj.space/c++%e6%95%99%e5%ad%a6a/acwswww.png

code如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    int t;
    cin >> t;
    while (t--) {
        ll a = 1;
        string b;
        ll p = 1;
        cin >> a;
        cin >> b;
        cin >> p;
        ll ans = 1;
        // 我们需要 逆着算 这样  可以  类比  加法 但是这里是乘法 所以 去乘以 十次幂 // 如图
        for (int i = b.size() - 1; i >= 0; i--) {
            int t = b[i] - '0';
            for (int j = 1; j <= t; j++)    ans = ans * a % p;
            ll n = 1;
            for (int j = 1; j <= 10; j++)   n = n * a % p;
            a = n;
        }
        cout << ans << endl;
    }
    return 0;
}