求 a 的 b 次方对 p 取模的值。

输入格式

三个整数 a,b,p , 在同一行用空格隔开。

输出格式

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

数据范围

0<=a0 <= a, b<=109b <= 109
1<=p<=1091 <= p <= 109

输入样例:

3 2 7

输出样例:

2

Solution

title
#include <bits/stdc++.h>
using namespace std;
int main() {
    long long a, b, p, res = 1;
    cin >> a >> b >> p;
    while(b) {
        if(b & 1)
            res = res * a % p;
        b >>= 1;
        a = a * a % p;
    }
    cout << res % p;
    return 0;
}
此文章已被阅读次数:正在加载...Edited on