第五章:整除性與最大公因數(2)

Lois發表於2020-08-30

歐幾里得演算法

求兩個數的最大公因數的最有效方法是歐幾里得演算法,這是由直到餘數為零的一系列帶餘除法組成的。在敘述一般方法前,我們用個例子來說明:
我們計算gcd(36,132),第一步是132除以36得商3與餘數24。我們將此記作

132 = 3·36 +24

第二步是取36,用前一步的餘數24除以36

36 = 1·24 +12

下一步,用12除以24求得餘數0

24 = 2·12 + 0

歐幾里得演算法說明當得到餘數0時,則前一步的餘數就是最初兩個數的最大公因數,所以在這種情況我們求得gcd(132,36)=12
注意如何在每一步用數A除以B得到商Q和餘數R,換句話說,

A = Q·B +R

然後在下一步用數BR代替原來的 AB,繼續此過程直到得到餘數0為止。此時,前一步的餘數R就是最初兩個數的最大公因數。

歐幾里得演算法:要計算兩個數ab的最大公因數,先令r_{-1}=a,r_0=b,然後計算相繼的商和餘數

r_{i-1}=q_{i-1}·r_{i}+r_{i-1}(i = 0,1,2,...)

直到某餘數r_{n+1}0。最後的非零餘數r_n就是ab的最大公因數

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Hacking

相關文章