快速幂
1 #include<bits/stdc++.h> 2 using namespace std; 3 long long a,b,p; 4 long long quickpow(long long a,long long b,long long p) 5 { 6 long long ans=1; 7 while(b) 8 { 9 if(b&1) ans=ans%p*a%p; 10 a=a*a%p; 11 b>>=1; 12 } 13 return ans%p; 14 } 15 int main() 16 { 17 scanf("%lld%lld%lld",&a,&b,&p); 18 long long ans=quickpow(a,b,p)%p; 19 printf("%lld",ans); 20 return 0; 21 }