刷刷算法进阶指南 Day1 T1
题目
思路
快速幂板子题 需要特别注意的是在快速幂函数定义答案的时候 需要定义res为1%p
防止出现最后结果是1 p也是1的情况导致答案错误
code
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
LL qmi(LL a, int b, int p) {
LL res = 1 % p;
while (b) {
if (b & 1) {
res = res * a % p;
}
a = a * a % p;
b >>= 1;
}
return res;
}
int main() {
int a, b, p;
cin >> a >> b >> p;
LL res = qmi(a, b, p);
cout << res << "\n";
return 0;
}