用python求最大公約數和最小公倍數

首先在這介紹一下“歐幾里得算法”:
歐幾里德算法是用來求兩個正整數最大公約數的算法。是由古希臘數學家歐幾里德在其著作《The Elements》中最早描述了這種算法,所以被命名爲歐幾里德算法。
假如需要求 1997 和 615 兩個正整數的最大公約數,用歐幾里德算法,是這樣進行的:
1997 / 615 = 3 (餘 152)
615 / 152 = 4(餘7)
152 / 7 = 21(餘5)
7 / 5 = 1 (餘2)
5 / 2 = 2 (餘1)
2 / 1 = 2 (餘0)
至此,最大公約數爲1
以除數和餘數反覆做除法運算,當餘數爲 0 時,取當前算式除數爲最大公約數,所以就得出了 1997 和 615 的最大公約數 1。 ——(來自百度百科)
然而,最小公倍數就是兩個數的乘積除以最大公約數

對歐幾里得算法有一點了解了,下面就用python程序把最大公約數和最小公倍數求出來:

a = int(input("請輸入一個整數:"))
b = int(input("請輸入另一個整數:"))
num_1 = a
num_2 = b
result = num_1 % num_2
while result != 0 :
    num_1 = num_2
    num_2 = result
    result = num_1 % num_2
print("%d與%d的最大公約數是%d"%(a,b,num_2))
print("%d與%d的最小公倍數是%d"%(a,b,a*b/num_2))

運行程序如下圖:
在這裏插入圖片描述

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