如何求兩正整數的最大公因數
求兩個正整數的最大公因數(Greatest Common Divisor, GCD)可以使用質因數分解法、歐幾里得算法(Euclidean algorithm)或輾轉相除法等方法。這裡我們主要介紹歐幾里得算法,因為它是最常用的方法之一,而且適用於任何正整數。
歐幾里得算法的步驟如下:
- 設兩個正整數為 ( a ) 和 ( b ),其中 ( a > b )。
- 計算 ( a ) 除以 ( b ) 的餘數,記作 ( r = a \bmod b )。
- 如果 ( r ) 為0,則 ( b ) 就是 ( a ) 和 ( b ) 的最大公因數;否則,將 ( b ) 賦值給 ( a ),將 ( r ) 賦值給 ( b ),並回到第二步繼續計算。
以下是一個使用歐幾里得算法求兩個正整數最大公因數的例子:
輸入兩個正整數 a 和 b,求它們的最大公因數。
a = 12, b = 8
12 ÷ 8 = 1, 餘數 r = 4
將 b 賦值給 a,將 r 賦值給 b
a = 8, b = 4
8 ÷ 4 = 2, 餘數 r = 0
因為 r = 0,所以 b(現在為 4)就是 a 和 b 的最大公因數。
最大公因數 GCD(12, 8) = 4
在編程中,可以使用一個循環來實現歐幾里得算法,直到餘數為0為止。以下是一個簡單的Python程式碼示例:
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
# 使用例子
a = int(input("請輸入第一個正整數:"))
b = int(input("請輸入第二個正整數:"))
gcd_value = gcd(a, b)
print("兩數的最大公因數是:", gcd_value)
這個程式碼會提示用戶輸入兩個正整數,並使用上面的 gcd
函數來計算它們的最大公因數。