基础公式:ab mod c = (a mod c)*(b mod c)mod c
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void outans(ll a,ll b,ll c){
ll ans=1;
while(b){
if(b%2==1)
ans=(ans*a)%c; //奇数的话先单独乘一次
b/=2;
a=(a*a)%c;
}
cout<<ans<<"\n";
}
int main(){
ll a,b,c;
cin>>a>>b>>c;
outans(a,b,c);
return 0;
}
时间复杂度:logn