问题描述 :
给定A, B, P,求(A^B) mod P。
输入说明 :
输入共一行。
第一行有三个数,A, B, P。
A, B为long long范围内的非负整数,P为int内的非负整数。
输出说明 :
输出共一行,表示所求。
输入范例 :
2 5 3
输出范例 :
2
完整C++代码
经典快速幂,还是挺好懂的
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ll a, b, p, total = 1;
cin >> a >> b >> p;
a = a % p;
while (b) {
if (b & 1) total = total * a % p;
a = a * a % p;
b >>= 1;
}
cout << total << endl;
return 0;
}
😋欢迎大伙私信或者评论区交流讨论😋