一望而知的快速幂板子;直接使用即可。
#include<bits/stdc++.h>
long long pow(long long x, long long y, int k){
long long result = 1, tmp = x;
while(y){
if(y & 1) result = result * tmp % (k - 1);
tmp = tmp * tmp % (k - 1);
y >>= 1;
}
return result ? result : k - 1;
}
int main(){
int x, y, k;
while(std::cin >> x >> y >> k){
std::cout << pow(x, y, k) << std::endl;
}
return 0;
}