透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

模反元素
4
滿足 (a·x) mod m = 1 的 x
反元素存在
gcd(a, m) 1

什麼是模反元素?

整數 a 對模數 m 的模乘法反元素,是指一個整數 x,使得 \((a \cdot x) \bmod m = 1\) 成立。它相當於模運算中的「除法」,在數論、RSA 加密系統以及許多編碼理論演算法中都扮演關鍵角色。本計算機透過擴展歐幾里得演算法(extended Euclidean algorithm)求出 x

數線環繞著時鐘般的圓形模數環,顯示 a 乘 x 落在 1 上
模反元素 x 與 a 相乘後將 a 映回 1,在模 m 上循環繞回。

如何使用本計算機

輸入數字 a 與模數 m(m ≥ 2)。工具會回傳落在 0 ≤ x < m 範圍內、最小的非負反元素 x,並確認反元素是否存在,同時顯示 gcd(a, m)。若 gcd(a, m) ≠ 1,代表反元素不存在,結果會顯示為「無」。

公式說明

反元素只有在 \(\gcd(a, m) = 1\) 時才存在,也就是 a 與 m 互質。擴展歐幾里得演算法會找出滿足 \(a \cdot x + m \cdot y = \gcd(a, m)\) 的整數 x 與 y。當最大公因數為 1 時,把 x 對 m 取模即可得到反元素。若結果為負,再加上 m 即可正規化為正值。

$$\text{a} \cdot x \equiv 1 \pmod{\text{m}} \quad\Longrightarrow\quad x = \text{a}^{-1} \bmod \text{m}$$
Advertisement
擴展歐幾里得演算法步驟的扁平流程圖,產生最大公因數與係數
擴展歐幾里得演算法給出係數,當 gcd(a, m) = 1 時即得反元素。

實際範例

求 3 對模數 11 的反元素。我們要找出滿足 \(3x \equiv 1 \pmod{11}\) 的 x。試算一下,

$$3 \times 4 = 12 = 11 + 1 \quad\Longrightarrow\quad 12 \bmod 11 = 1$$

因此 x = 4。擴展歐幾里得演算法也會得到相同結果,而 \(\gcd(3, 11) = 1\),證明反元素確實存在。

常見問題

什麼情況下反元素不存在?當 a 與 m 有大於 1 的公因數時——例如 4 對模數 6(gcd = 2)就沒有反元素。

m 一定要是質數嗎?不必。m 可以是任何 ≥ 2 的整數;重點只在於 a 與 m 是否互質。

答案會落在什麼範圍?反元素以最小的非負剩餘形式給出,介於 0 與 m − 1 之間。

最後更新: