线性求逆元的算法

本文介绍\(O(n)\)处理\([1, n]\)在模\(P\)意义下的逆元的方法。

结论

\[inv_i \equiv -\lfloor \frac{P}{i} \rfloor * inv_{(P \bmod i)} \pmod P \]


证明

现在要求\(i\)的逆元:

\(a = \lfloor \frac{P}{i} \rfloor, b = P \bmod i\),则

\[a * i + b \equiv 0 \pmod P \]

\[-a * i \equiv b \pmod P \]

等式两边同除\(i * b\)

\[-a * inv[b] = inv[i] \]

\(a = \lfloor \frac{P}{i} \rfloor, b = P \bmod i\)代入上式得

\[inv_i \equiv -\lfloor \frac{P}{i} \rfloor * inv_{(P \bmod i)} \pmod P \]

posted @ 2018-05-22 11:04  胡小兔  阅读(707)  评论(2编辑  收藏