乘法逆元詳解【費馬小定理+擴充套件歐幾里得演算法】
阿新 • • 發佈:2019-02-01
乘法逆元
何為乘法逆元?
對於兩個數若則一定存在另一個數,使得,並稱此時的為關於模的乘法逆元。我們記此時的為或。
舉個例子:,我們稱此時的為關於模的乘法逆元。
如何求乘法逆元?
方法一:費馬小定理
費馬小定理:當有兩數滿足時,則有。
變一下形:。是不是和上面的乘法逆元的定義是相似的?
所以,我們可以使用快速冪求出,即求出的逆元。
方法二:擴充套件歐幾里得演算法
由定義可知:,這個式子等價於已知求一個二元一次不定方程,移一下項得:。這東西不是擴充套件歐幾里得演算法?
方法三:遞推計算階乘的逆元
當我們要計算一大串連續的階乘的逆元時,採用費馬小定理或擴充套件歐幾里得演算法就有可能超時,所以我們必須採用一個更快的演算法。
令,則可得:
我們將乘過去,則有:
自然我們就得出遞推式。
乘法逆元的作用?
我們由費馬小定理可得:。
所以:
我們又知道模運算的乘法結合律: