分析
将指数转换成二进制,将复杂度变为$\log_2 n$
#include<iostream>
using namespace std;
typedef long long LL;
int qmi(LL a,LL b,LL p){
int res=1;
while(b){
if(b&1)res=res*a%p;
a=a*a%p;
b>>=1;//移位
}
return res;
}
int n;
int main(){
cin>>n;
LL a,b,p;
while(n--){
cin>>a>>b>>p;
cout<<qmi(a,b,p)<<endl;
}
return 0;
}