快速冪
/*
* AP325
* P-2-3. 快速冪
*/
#include<bits/stdc++.h>
using namespace std;
long long binpow(long long a, long long b, long long m) {
a %= m;
long long res = 1;
while (b > 0) {
if (b & 1){
res = res * a % m;
}
a = a * a % m;
b >>= 1; // 除2
}
return res;
}
int main() {
long long x,y,p;
cin >> x >> y >> p;
cout << binpow(x,y,p) << endl;
}
Last updated
Was this helpful?