快速幂
xiufanivan · · 个人记录
题目描述:
求
#include <bits/stdc++.h>
using namespace std;
long long fast_power(long long a, long long b, long long c) {
long long ans = 1;
a %= c;
while (b) {
if (b & 1) { // b % 2 == 1, 奇数
ans = (ans * a) % c;
}
a = (a * a) % c;
b >>= 1; // b /= 2
}
return ans;
}
int main() {
cout << fast_power(2, 5, 7) << endl; // 2^5 % 7 = 4
return 0;
}