學習筆記 | 最大公約數、最小公倍數

01 最大公約數

def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)

if __name__ == "__main__":
    ans = gcd(3, 5)
    print(ans)
  • 輸出 : 1
輾轉相減法

在這裏插入圖片描述

def gcd(a, b):
    if a - b == 0:
        return a
    else:
        tmp1 = abs(a-b)
        tmp2 = min(a, b)
        a = max(tmp1, tmp2)
        b = min(tmp1, tmp2)
        return gcd(a, b)


if __name__ == "__main__":
    a = 3
    b = 5
    ans = gcd(a, b)
    print(ans)

02 最小公倍數

在這裏插入圖片描述


def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


if __name__ == "__main__":
    a = 3
    b = 5
    ans = (a / gcd(a, b)) * b
    print(ans)

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