输入正整数,a,n,m,输出a^n mod m的值。a,n,m<=10^9;
代码:
#include<stdio.h>
#include<math.h>
int pow_mod(int a,int n,int m)
{
int ans=1;
int k=a%m;
while(n>0)
{
if(n%2==1)
ans=ans*k%m;
n=n/2;
k=(k*k)%m;
}
return ans;
}
int main()
{
int a,n,m;
scanf("%d%d%d",&a,&n,&m);
int ans=pow_mod(a,n,m);
printf("%d\n",ans);
return 0;
}