LL (LL a, LL b, LL mod){ ///快速乘法取模 LL res = 0LL; while(b) { if(b & 1) res =(res + a) % mod; a = (a + a) % mod; ///每次扩大2倍 b >>= 1; } return res; } LL quick_mod(LL a, LL b, LL mod){ ///快速幂取模 LL res = 1LL; ///注意初始值为1 while(b) { if(b & 1) res = quick_mul(res, a, mod); /// res = res * a % mod; a = quick_mul(a, a, mod); ///a = a * a % mod; b >>= 1; } return res; }
近期评论