题解 | #【模板】快速幂Ⅰ ‖ 整数#
【模板】快速幂Ⅰ ‖ 整数
https://www.nowcoder.com/practice/3d624107a6904da1bd0e8c9c85e17167
#include <stdio.h>
// 快速幂算法,计算a的b次方对p取模的结果
int quick_pow(int a, int b, int p) {
int ans = 1;
while (b) {
if (b & 1) {
ans = (long long)ans * a % p;
}
a = (long long)a * a % p;
b >>= 1;
}
return ans;
}
int main() {
int T;
scanf("%d", &T);
while (T--) {
int a, b, p;
scanf("%d%d%d", &a, &b, &p);
if(b == 0 && p == 1) {
printf("0\n");
} else {
int result = quick_pow(a, b, p);
printf("%d\n", result);
}
}
return 0;
}
