歐幾里德如何求最大公約數
歐幾里德算法(也被稱為輾轉相除法)是一種用於求兩個整數的最大公約數(GCD)的算法。該算法基於以下原理:兩個整數的最大公約數等於其中較小的數和兩數的差的最大公約數。具體步驟如下:
- 將較小的數賦值給較大的數。
- 從第二個數中減去第一個數,並除以較小的數,將餘數(假設為a)賦值為新的被除數,並將新的除數賦值給第一個數。
- 重複步驟2,直到餘數為0,此時,原來的被除數(最後一個)就是最大公約數。
算法的關鍵在於不斷地把除數與被除數進行比較,並將較大的數賦值給較小的數,以實現疊代的過程。這個過程直到餘數為0為止,此時較大的數就是兩個數的最大公約數。
在Python中,可以使用以下代碼實現歐幾里德算法:
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
在這個函式中,輸入參數a
和b
是兩個整數,函式返回它們的最大公約數。這個函式會一直循環執行,直到b
變為0為止。每次循環中,將b
賦值給a
,將a
除以b
的餘數賦值給b
。當b
變為0時,函式返回結果。