三個數的最大公因數計算機
計算三個數的最大公因數(Greatest Common Divisor, GCD)可以使用質因數分解法、長除法或輾轉相除法(Euclidean algorithm)。這裡我將提供輾轉相除法的算法,因為它是計算最大公因數的最有效方法之一。
輾轉相除法的基本步驟如下:
- 選擇兩個數,我們稱為
a
和b
,其中a
>=b
。 - 計算
a
除以b
的餘數,記為r
。如果r
等於0,則b
是a
和b
的最大公因數;否則,繼續下一步。 - 交換
a
和b
的位置,將b
賦給a
,r
賦給b
,然後重複步驟2,直到r
等於0。
對於第三個數c
,我們可以將c
與a
和b
的最大公因數進行比較,如果c
能被這個最大公因數整除,那麼這個最大公因數就是a
、b
和c
的最大公因數。
下面是一個簡單的Python函式,它使用輾轉相除法來計算三個數a
、b
和c
的最大公因數:
def gcd(a, b, c):
while b != 0:
a, b = b, a % b
if c % a == 0:
return a
else:
return gcd(a, c, b)
# 示例使用
a = int(input("第一個數:"))
b = int(input("第二個數:"))
c = int(input("第三個數:"))
gcd_abc = gcd(a, b, c)
print("最大公因數是:", gcd_abc)
這個函式首先計算a
和b
的最大公因數,然後檢查c
是否能被這個最大公因數整除。如果可以,那麼這個最大公因數就是a
、b
和c
的最大公因數;如果不可以,那麼函式會遞歸地調用自己,將c
替換為a
和b
的最大公因數,然後重新計算。
請注意,這個函式假設輸入的數都是正整數。如果你需要處理負數或分數,你可能需要對算法進行相應的修改。