Python求兩個數的最大公約數

一、求最大公約數算法:

  1. 整數A對整數B進行取整, 餘數用整數C來表示 舉例: C = A % B

  2. 如果C等於0,則C就是整數A和整數B的最大公約數

  3. 如果C不等於0, 將B賦值給A, 將C賦值給B ,然後進行 1, 2 兩步,直到餘數爲0, 則可以得知最大公約數

二、根據算法,實現Python程序

def fun(num1, num2):  # 定義一個函數, 兩個形參
    if num1 < num2:  # 判讀兩個整數的大小,目的爲了將大的數作爲除數,小的作爲被除數
        num1, num2 = num2, num1  # 如果if條件滿足,則進行值的交換

    vari1 = num1 * num2  # 計算出兩個整數的乘積,方便後面計算最小公倍數
    vari2 = num1 % num2  # 對2個整數進行取餘數

    while vari2 != 0:  # 判斷餘數是否爲0, 如果不爲0,則進入循環
        num1 = num2  # 重新進行賦值,進行下次計算
        num2 = vari2
        vari2 = num1 % num2  # 對重新賦值後的兩個整數取餘數
        
        # 直到 vari2 等於0,得到最到公約數就退出循環

    vari1 /= num2   # 得出最小公倍數
    print("最大公約數爲:%d" % num2)    # 輸出
    print("最小公倍數爲:%d" % vari1)   # 輸出

fun(6, 9)
程序輸出結果:

最大公約數爲:3
最小公倍數爲:18

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章