最大公約數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庫的版本要更靈活一些,因為你可以選擇其他的輸入值和類型。但是它比使用內置函式的版本更複雜一些,也更難於理解和調試。