“AcWing 875:快速幂”题目的C++代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int fastPow(LL a,LL b,LL p) {
LL ans=1;
while(b) {
if(b & 1) ans=ans*a%p;
a=a*a%p;
b>>=1;
}
return ans;
}
int main() {
int a,b,p;
int T;
cin>>T;
while(T--) {
cin>>a>>b>>p;
cout<<fastPow(a,b,p)<<endl;
}
return 0;
}
/*
in:
2
3 2 5
4 3 9
out:
4
1
*/