- yuxitong's blog
快速幂
- @ 2025-10-30 19:38:47
//顶级垃圾程序
//A very bad program
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll quickpow(ll a, ll b, ll mod){
if (!b) return 1; //如果b=0,答案必定是1
ll ans = 1; //答案
for(; b; b >>= 1, a = a * a % mod){ //a不断自增,b不断左移改变自己的最后一位
if (b & 1){ //b二进制的最后一位是1
ans = ans * a % mod; //相乘
}
}
return ans;
}
ll a, b, mod;
int main(){
cin >> a >> b >> mod;
cout << quickpow(a, b, mod) << endl;
return 0;
}