对于正整数a和m如果满足公式那麼x的最小正整数解称为a模m的逆元。
现在就可以用扩展欧几里得求x的通解了即x=x0+(m/1)tx0%m为最小正整数解。
如果m为负数可以先取绝对值,那么如果x0%m為负数只要再加上abs(m)就是答案了。
对于正整数a和m如果满足公式那麼x的最小正整数解称为a模m的逆元。
现在就可以用扩展欧几里得求x的通解了即x=x0+(m/1)tx0%m为最小正整数解。
如果m为负数可以先取绝对值,那么如果x0%m為负数只要再加上abs(m)就是答案了。
求乘法逆元逆元是数论中重要的內容也是 ACM 中常用到的数论算法之一。所以如何高效的求出求乘法逆元逆元是一个值得研究的问题。
这里我们只讨论当模数为素数的情況因为如果模数不为素数,则不一定每个数都有逆元
求乘法逆元逆元有如下的性质:
求乘法逆元逆元的一大应用是模意义下的除法,除法在模意义下并不是封闭的但我们可以根据上述公式,将其转化为求乘法逆元
由求乘法逆元逆元的定义,a ^ {p -
其实有些题需要用到模的所有逆元这里为奇质数。那么如果用快速幂求时间复杂度为
如果对于一个1000000级别的素數,这样做的时间复杂度是很高了实际上有的算法,有一个递推式如下
它的推导过程如下设,那么
对上式两边同时除进一步得到
再紦和替换掉,最终得到
初始化这样就可以通过递推法求出模奇素数的所有逆元了。
另外模的所有逆元值对应中所有的数比如,那么对應的逆元是