1. 程式人生 > >機器人走方格v2 即學習費馬小定理求逆元

機器人走方格v2 即學習費馬小定理求逆元

詳機器人走方格v2 解見 https://blog.csdn.net/greenary/article/details/79343963

費馬小定理   擴充套件歐幾里得 用來求逆元

當(a/b)%mod 時不能直接不能對分子分母單獨取模

必須先求b的逆元再進行取模運算

x = a ^ ( p - 2 )  (mod p)

(a*x)%mod  x為的逆元

費馬小定理 

假如a是一個整數,p是一個質數,那麼a^p - a 是p的倍數,可以表示為

a ^ p ≡ a ( mod p)

如果a不是p的倍數,這個定理也可以寫成

a ^ ( p - 1 )  ≡ 1 (mod p )

a ^ ( p - 1 )  ≡ 1 (mod p )變形可得 a * a ^ ( p - 2 ) ≡ 1 ( mod p )

顯然若a , p 互質 a * a ^ ( p - 2 ) ≡ 1 ( mod  p )

且 a * x ≡ 1 ( mod p), 則 x = a ^ ( p - 2 )  (mod p)

這樣的話就能用快速冪演算法求出它的逆元X。

擴充套件歐幾里得 也可以求逆元

1 (mod p )變形可得 a * a ^ ( p - 2 ) 1 ( mod p )

顯然若a , p 互質 a * a ^ ( p - 2 ) ≡ 1 ( mod  p )

且 a * x ≡ 1 ( mod p), 則 x = a ^ ( p - 2 )  (mod p)

這樣的話就能用快速冪演算法求出它的逆元。