計算最大公約數和最小公倍數

2021-10-17 12:55:01 字數 793 閱讀 1600

最大公因數

也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的乙個

a,b的最大公約數記為(a,b)

12,18的最大公約數是(12,18)=6

計算方法: a%factor==0 and b%factor==0 得到 (a,b)=factor

最小公倍數

兩個或多個整數公有的倍數叫做它們的公倍數,其中除0以外最小的乙個公倍數就叫做這幾個整數的最小公倍數。

整數a,b的最小公倍數記為[a,b]

如12,18的最小公倍數是[12,18]=36

計算方法:factor * (a/factor) * (b/factor) 得到 [a,b]=a*b/factor

factor.py

"""

輸入兩個正整數計算最大公約數和最小公倍數

"""x = int(input("x="))

y = int(input("y="))

if x > y:

(x, y) = (y, x)

# 從2個數中較小的數開始遍歷

for factor in range(x, 0, -1):

if x % factor == 0 and y % factor == 0:

print("%d和%d的最大公約數是%d" % (x, y, factor))

print("%d和%d的最小公倍數是%d" % (x, y, x * y / factor))

break

最大公約數 最小公倍數

求最大公約數最直接的辦法是從兩數中較小數與2之間的所有整數中乙個乙個的找。但這個方法有點浪費。有兩種有名的方法 1.輾轉相除法2.更相減損之術這兩種方法比較有名,而且現在人教版的高中數學中已經介紹了這兩種方法。下面這個是第2個,因為它只需要加減法就可以,效率高。int maxfactor unsig...

最小公倍數 最大公約數

求最小公倍數演算法 最小公倍數 兩整數的乘積 最大公約數 求最大公約數演算法 1 輾轉相除法 有兩整數a和 b a b得餘數c 若c 0,則 b即為兩數的最大公約數 若c 0,則 a b,b c,再回去執行 例如求27和 15的最大公約數過程為 27 15 餘12 15 12餘3 12 3餘0 因此...

最大公約數,最小公倍數

兩個數最大公約數 輾轉相除法 在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。兩個整數的最大公約數是能夠同時整除它們的最大的正整數。輾轉相除法基於如下原理 兩個整數的最大公約數等於其中較小的數和兩數的差的最大公約數。例如 用 a,b 來表示a和b的最大公約數。已知a,b,c為正整數...