嗯,就是一道快速幂取模。
注意到c是比较小的,可以考虑每次预处理a对c取模。
#include "cstdio"
#define LL long long
LL pow_mod(LL a,LL p,LL n){
if(p==0) return 1%n;
LL ans=pow_mod(a,p/2,n);
ans=ans*ans%n;
if(p%2==1) ans=ans*a%n;
while(ans<0) ans+=n;
return ans%n;
}
int main(){
LL a,b,c;
while(scanf("%lld%lld%lld",&a,&b,&c)!=EOF){
a%=c;
printf("%lld\n",pow_mod(a, b, c));
}
}