线性求逆元

我们知道 \(1^{-1}\equiv 1\pmod p\) ,然后我们设 \(p=k\cdot i+r,~r<i,~1<i<p\) ,再将这个式子放到 \(\mathrm{mod}\,\,p\) 意义下,就会得到:

\[k\cdot i+r\equiv 0\pmod p \]

两边同时乘上 \(i^{-1}\cdot r^{-1}\) 就会得到:

\[\begin{eqnarray*} k\cdot r^{-1} + i^{-1} &\equiv& 0 &\pmod p\\ i^{-1} &\equiv& -k\cdot r^{-1} &\pmod p\\ i^{-1} &\equiv& -\left\lfloor\frac{p}{i}\right\rfloor\cdot (p\bmod i)^{-1}&\pmod p\end{eqnarray*} \]

代码

inv[i]=((mod-mod/i)*inv[mod%i])%mod;
posted @ 2020-09-16 20:24  jasony_sam  阅读(117)  评论(0)    收藏  举报