乘法逆元

乘法逆元

  • 对于正整数 \(a\) ,若存在 \(s\) 使 \(as\equiv1 \pmod{m}\)

    则记 \(s\)\(a\) 在模 \(m\) 下的逆元,即 \(s\equiv a^{-1} \pmod{m}\)

  • \(a\) 存在逆元的充要条件为 \(\gcd(a,m)=1\)

  • 费马小定理:若 \(p\) 为质数,则对于任意整数 \(a\)\(a^p \equiv a \pmod{p}\)

  • 威尔逊定理:若 \(p\) 为质数,则有 \((p-1)! \equiv -1 \pmod{p}\)

线性推逆元

  • \(t=\left\lfloor\dfrac{m}{i}\right\rfloor,k=m \bmod i\) ,则

    \(\begin{aligned}ti+k&=\left\lfloor\dfrac{m}{i}\right\rfloor\times i + m \bmod i\\&=(m-m\bmod i)+m \bmod i\\&=m\end{aligned}\)

    移项,得到 \(ti = -k + m\)

    对上式两边同时除 \(ki\) ,得到 \(tk^{-1} \equiv -i^{-1} \pmod m\)

    \(\begin{aligned} tk^{-1}&=-i^{-1}+am,a\in\mathbb{N}\\ i^{-1}&=-tk^{-1}+am\\ i^{-1}&=-tk^{-1} \bmod m \end{aligned}\)

    得到 \(inv[i]=(-\left\lfloor\dfrac{m}{i}\right\rfloor)\times inv[m \bmod i] \bmod m\)

    再整理一下确保 \(inv[i]\) 非负,最终得到

    \(\large{inv[i]=((m-\left\lfloor\dfrac{m}{i}\right\rfloor) \times inv[m \bmod i]) \bmod m}\)

费马小定理求逆元

  • 根据费马小定理可知, 若 \(p\) 为质数,则对于任意整数 \(a\)\(a^p \equiv a \pmod{p}\)

    那么对于质数 \(p\) ,有 \(a\times a^{p-1}\equiv a \pmod p\)

    因此 \(a^{p-1} \equiv 1 \pmod p\)

    又因为 \(a^{p-1}=a\times a^{p-2}\) ,所以 \(a \times a^{p-2} \equiv 1 \pmod p\)

    所以 \(a^{p-2}\)\(a\) 在模 \(p\) 意义下的逆元。

扩展欧几里得算法求逆元

  • \(ax \equiv 1 \pmod m\)

  • \(ax+bm=1\)

    可以使用扩展欧几里得算法求出一组 \(x,b\)\(x\) 即为 \(a\) 在模 \(m\) 意义下的逆元。

总结

\(a\) 在模 \(m\) 意义下的逆元时,若 \(m\) 不是质数,则仅能使用 exgcd 求逆元;若 \(m\) 是质数,则三种方法都可以使用。

posted @ 2022-07-25 21:51  Burnling  阅读(33)  评论(0编辑  收藏  举报