快速幂用途
直觉认为,系统库中自带的幂函数性能优于快速幂
但是C++幂函数不支持模运算,因此在涉及到结果取模时,需要使用自定义的快速幂。
然而python没有这一问题,python中的pow可选择第三个参数,即mod,自带模运算的功能。
经实验,python自带pow确实优于快速幂,然而c++中的pow速度要比快速幂慢
int ksm(int a, int b, int mod) {
int res = 1;
while (b) {
if (b & 1) res = res * a % mod;
a = a * a % mod;
b >>= 1;
}
return res;
}