乘法逆元求法
原创建时间:2018-08-05 08:24:19 数论中的重要内容 注意:本文只讨论模数为质数的情况,因为当模数为合数时,不一定所有数都有逆元 定义 在 \(\bmod\ p\) 的意义下,我们把 \(x\) 的乘法逆元写作 \(x^{-1}\) 。乘法逆元有这样一条性质: \[x \times x^{-1} \equiv 1\ (\bmod\ p)\] 乘法逆元有什么用呢? 模意义下的 除法运算 ! 除法运算对于模运算来说并不是「封闭」的,所以我们可以把除法 转化 成乘法 费马小定理求法 前置知识:「快速幂」 \(a^{p-1} \equiv 1 (\bmod\ p)%\) 经过变形,可得 \(a \times a^{p-2} \equiv 1(\bmod\ p)\) 由定义可得, \(a\) 的乘法逆元就是 \(a^{p-2}\) 这就要用到「快速幂」 inline int slowPower(int a, int b, int p) { int ans = 1; while (b) { if (b & 1) ans = 1ll * ans * a % p; a = 1ll * a * a % p; b >>= 1; } return ans; } inline int invMod(int x, int p) { return slowPower(x, p - 2, p);