(数论)逆元的线性算法

证明:/

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;

原文地址:https://www.cnblogs.com/ALINGMAOMAO/p/9503427.html