ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

乘法逆元

2022-07-25 22:02:01  阅读:150  来源: 互联网

标签:pmod bmod times 逆元 乘法 质数 equiv


乘法逆元

  • 对于正整数 \(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\) 是质数,则三种方法都可以使用。

标签:pmod,bmod,times,逆元,乘法,质数,equiv
来源: https://www.cnblogs.com/burnling/p/16519001.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有