P1226 【模板】快速幂||取余运算
\(P1226\) 【模板】快速幂||取余运算
一、经验总结
- 因为在计算快速幂过程中,会进行乘法运算,可能会爆\(INT\),一般采用\(LL\)对所有参数进行定义
二、实现代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int a, b, p;
LL qmi(LL x, LL y, LL p) {
LL res = 1;
while (y) {
if (y & 1) res = res * x % p;
y >>= 1;
x = x * x % p;
}
return res;
}
int main() {
scanf("%d %d %d", &a, &b, &p);
printf("%d^%d mod %d=%lld\n", a, b, p, qmi(a, b, p));
return 0;
}