擴充套件歐幾里得演算法(Extended GCD / 模逆)

輸入引數

示例:

計算結果

輸入數字後點擊"開始計算"

擴充套件歐幾里得演算法說明:

演算法原理: 擴充套件歐幾里得演算法(Extended Euclidean Algorithm)不僅能計算兩個整數 a 和 m 的最大公約數 gcd(a, m),還能找到整數 x 和 y,使得 ax + my = gcd(a, m)。 這是貝祖等式(Bézout's identity)的一個應用。
演算法步驟:
  1. 歐幾里得演算法:使用輾轉相除法計算 gcd(a, m),記錄每一步的商和餘數
  2. 回代過程:從最後一步開始反向回代,逐步表示每個餘數為 a 和 m 的線性組合
  3. 求解係數:最終得到係數 x 和 y,滿足 ax + my = gcd(a, m)
模逆(Modular Inverse):
當 gcd(a, m) = 1 時(即 a 和 m 互質),存在 a 在模 m 下的乘法逆元,記作 a-1 mod m。此時 x 即為模逆,滿足 a × x ≡ 1 (mod m)。 如果 x 是負數,需要調整為正數:x' = x mod m。
應用場景:
  • 密碼學:RSA 演算法中計算私鑰,需要求模逆
  • 數論問題:求解線性同餘方程 ax ≡ b (mod m)
  • 組合數學:計算組合數的模運算(Lucas 定理等)
  • 競賽程式設計:快速計算模逆,避免除法導致的精度問題
時間複雜度: O(log min(a, m)),與歐幾里得演算法相同

貝祖等式(Bézout's Identity):

對於任意整數 a 和 m,存在整數 x 和 y,使得 ax + my = gcd(a, m)。這些係數 x 和 y 可以通過擴充套件歐幾里得演算法高效計算。