【数论】 【逆元】 【O(n)求逆元】

来源:互联网 发布:手机淘宝买家等级查询 编辑:程序博客网 时间:2024/05/21 19:56

传送门->http://blog.csdn.net/iamzky/article/details/21246493<-

这是一个学长的博客,,但是看了好几遍都没记住,,所以决定自己写一下。
所谓O(n)求逆元就是递推,下面是证明:

inv[i]=(Mod-Mod/i)×inv[Mod%i];

证明:

设 t=Mod/i,k=Mod%i

则 t×i+k≡0 (mod Mod)

移项得到 -t×i≡k (mod Mod)

两边同除i*k,即乘以它们的逆元得到: -t×inv[k]≡inv[i] (mod Mod)

将t,k替换回去可以得到: inv[i]≡-Mod/i×inv[Mod%i] (mod Mod)

由于是在模意义下,所以将负数替换: inv[i]≡(Mod-Mod/i)×inv[Mod%i] (mod Mod);

由此 inv[i]=(Mod-Mod/i)×inv[Mod%i] 得证;

注:该结论仅适用于Mod为质数的情况。。

1 0
原创粉丝点击