Loading

(数论)逆元的线性算法

证明:/

P=K*I+R      (R<I,  1<I<P);

K*I+R=0(MOD P)===(两边同时,乘以i-1,r-1)===>i-1=-k*r-1

r-1=(p mod i)-1; k=[p / i];

带入的出公式;  i-1=-[  p / i ]( p  mod i)-1

相当于求i的逆元 就是    -[  p / i  ]乘以(p mod i)的逆元

代码为

inv[1]=1;
for(int i=2;i<=n;i++)
    inv[i]=(p-p/i)*inv[p%i]%p;

 


 

posted @ 2018-08-20 00:33  青山新雨  阅读(269)  评论(0编辑  收藏  举报