快速幂算法
(a+b) % c = (a%c + b%c) % c
(a-b) % c = (a%c - b%c) % c
(a*b) % c = ((a%c) * (b%c)) % c
(a/b) % c ≠ ((a%c) / (b%c)) % c
#include <iostream>
#include <cstdio>
using namespace std;
long long a, b, c;
long long ans;
int PowerMod()
{
ans = 1;
a %= c;
while(b>0) {
if(b & 1 == 1) ans = (ans * a) % c;
// b /= 2;
b >> = 1;
a = (a * a) % c;
}
return ans;
}
int main()
{
while(scanf("%lld%lld%lld", &a, &b, &c) !=EOF) {
ans = 1;
cout << PowerMod() << endl;
}
return 0;
}