求兩個正整數的最大公約數和最小公倍數

求兩個正整數的最大公約數和最小公倍數

# 求兩個正整數的最大公約數和最小公倍數


# 求最大公約數
def gys(a, b):
    if a < b:
        a, b = b, a  # 保證a>b
    while b != 0:
        tem = a % b  # 求餘數
        a = b  # 交換後再次求餘數
        b = tem  # 餘數爲0時跳出
    return a  # 餘數爲0時返回除數即爲最大公約數


# 求最小公倍數
def gbs(a, b):
    n = (a * b) / gys(a, b)  # 兩數之積除以最大公約數可得最小公倍數
    return n


c = int(input("請輸入第一個數:"))
d = int(input("請輸入第二個數:"))
print("{0},{1}的最大公約數是:{2};最小公倍數是:{3} ".format(c, d, gys(c, d), gbs(c, d)))

運行結果
請輸入第一個數:35
請輸入第二個數:21
35,21的最大公約數是:7;最小公倍數是:105.0

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