题解 | 【模板】快速幂Ⅰ ‖ 模小整数
【模板】快速幂Ⅰ ‖ 模小整数
https://www.nowcoder.com/practice/3d624107a6904da1bd0e8c9c85e17167
#include <stdio.h>
typedef long long ll;
ll mmod(ll a, ll b, ll p){
if(b == 0) return 1;
ll res = mmod(a, b/2, p);
if(b % 2)
return res * res % p * a % p;
else
return res * res % p;
}
int main(void) {
int t;
scanf("%d", &t);
ll a, b, p;
while(t--){
scanf("%lld%lld%lld", &a, &b, &p);
if(a == 0){
if(b == 0){
printf("1\n");
continue;
}
else{
printf("0\n");
continue;
}
}else{
if(b == 0 && p == 1){
printf("0\n");
continue;
}
if(b == 0 && p != 1){
printf("1\n");
continue;
}
}
printf("%lld\n", mmod(a, b, p));
}
return 0;
}

