快速幂模板,时间复杂度O(log n);
#include<iostream>
#include<cstdio>
using namespace std;
int pow_mod(int a,int n,int m)//快速幂,a为底数,n为幂数,m为mod数;
{
if(n==0) return 1;
int x=pow_mod(a,n/2,m);
long long ans=(long long)x*x%m;
if(n%2==1) ans=ans*a%m;
return (int)ans;
}
int main()
{
int a,n,m;
cin>>a>>n>>m;
cout<<pow_mod(a,n,m)<<endl;
return 0;
}