给出3个正整数A B C,求A^B Mod C。
例如,3 5 8,3^5 Mod 8 = 3。
Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算结果Sample Input
3 5 8Sample Output
3
#include <stdio.h>
#include <stdlib.h>
long long pow_mod(long long a,long long k,long long m)
{
long long ans = 1;
while(k)
{
if(k%2)
ans *= a;
a = a*a%m;
k /= 2;
ans %= m;
}
return ans;
}
int main()
{
long long a,k,m;
scanf("%lld%lld%lld",&a,&k,&m);
a %= m;
printf("%lld\n",pow_mod(a,k,m));
return 0;
}