acwing875. 快速幂

分析

将指数转换成二进制,将复杂度变为$\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;
}