1. 程式人生 > >(數論)逆元的線性算法

(數論)逆元的線性算法

div 逆元 線性 ++ === class 就是 color pre

證明:/

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;


(數論)逆元的線性算法