a^b
思路:
将幂次b,转成二级制,分级运算。(快速幂)
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll fastpower(ll base,ll power,ll mod){
ll result=1;
while(power>0){
if(power&1){
result=result*base%mod;
}
power>>=1;
base=base*base%mod;
}
return result;
}
int main(){
ll a,b,p;
cin>>a>>b>>p;
cout<<fastpower(a,b,p);
}