题目描述
​ 求 a 的 b 次方对 p 取模的值。

输入
​ 输入三个整数 a,b,p。(0≤a,b≤109,1≤p≤109)
输出
​ 输出 a 的 b 次方对 p 取模的值。

样例输入
5 4 15
样例输出
10
数据规模与约定
​ 时间限制:1 s

内存限制:256 M

100% 的数据保证 0≤a,b≤109,1≤p≤109

#include <iostream>
using namespace std;

long long quick_mod(long long a, long long b, long long p) {
long long temp = a, ans = 1;
while (b) {
if (b & 1) ans = ans * temp % p;
temp = temp * temp % p;
b >> 1;
}
return ans % p;
}
int main() {
long long a, b, p;
cin >> a >> b >> p;
cout << quick_mod(a, b, p) << endl;
return 0;
}