乘法逆元

来源:互联网 发布:翻译软件 for mac 编辑:程序博客网 时间:2024/06/08 07:21

其实有些题需要用到的所有逆元,这里为奇质数。那么如果用快速幂求时间复杂度为

如果对于一个1000000级别的素数,这样做的时间复杂度是很高了。实际上有的算法,有一个递推式如下

 

                   

 

它的推导过程如下,设,那么

 

       

 

对上式两边同时除,进一步得到

 

       

 

再把替换掉,最终得到

 

       

 

初始化,这样就可以通过递推法求出模奇素数的所有逆元了。

 

另外的所有逆元值对应中所有的数,比如,那么对应的逆元是




解释一下,因为i=M/i,但是整数间的除法默认是整除的,所以实际上t*i=M-k,所以一式成立。


原创粉丝点击