求 a 的 b 次方对 p 取模的值,其中0 ≤ a, b, p ≤ 10 ​^9,p > 0

输入格式

三个用空格隔开的整数a,b和p。

输出格式

一个整数,表示a ^ b mod p的值。

数据范围 0 ≤ a, b, p ≤ 10 ^9,p > 0

输入样例:

2 3 9

输出样例:

8

代码实现

#include <iostream>
using namespace std;
using LL = long long;

LL a, b, p;
int qmi() {
    cin >> a >> b >> p;
    LL ans = 1
    while(b) {
        if(b & 1) ans = ans * t
        t = t * t
        b >>= 1;
    }
    return ans;
}
int main () {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout << qmi();
    return 0;
}

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

友情链接:Ctips' blog, Colza’s blog

站点状态:Status