最大公約數python

在Python中,可以使用內置的math庫來找到兩個數的最大公約數(GCD)。以下是一個簡單的示例:

import math

def gcd(a, b):
    return math.gcd(a, b)

# 測試
print(gcd(48, 18))  # 輸出:6

在這個例子中,math.gcd(a, b)函式會返回兩個數的最大公約數。

如果你需要手動實現這個算法,可以使用歐幾里得算法(Euclidean Algorithm)。以下是一個Python實現的例子:

def gcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

# 測試
print(gcd(48, 18))  # 輸出:6

這個算法的工作原理是通過不斷地用較小數替換較大的數,再用被替換下來的數和剩下的數繼續執行同樣的操作,直到較小的數和較小的數的階乘都被換下為止。這時候被換下的那個數就是兩個數的最大公約數。這個算法比使用math庫的版本要更靈活一些,因為你可以選擇其他的輸入值和類型。但是它比使用內置函式的版本更複雜一些,也更難於理解和調試。