最小公倍數(shù) = 兩數(shù)的乘積 / 最大公約數(shù)
輾轉(zhuǎn)相除法(歐幾里德法)
這種方法的實現(xiàn)原理是求兩個正整數(shù)的余數(shù) r
,再用兩個正整數(shù)中的較小數(shù)與其再求余直到余數(shù)為 0
時,此時的較小數(shù)就是最大公約數(shù)。最后利用公式計算得到這兩個數(shù)的最小公倍數(shù)。
代碼示例:文章來源地址http://www.zghlxwxcb.cn/news/detail-850901.html
print("請輸入兩個正整數(shù):")
m = int(input())
n = int(input())
x = m * n # x用于存放m與n的乘積
print(f"{m}和{n}的最小公倍數(shù)是:", end='') # 此時輸出m和n的值還沒改變
r = m % n
while r != 0: # 不用比較大小,若m小于n,則會在第一遍循環(huán)交換位置
m = n
n = r
r = m % n
print(x // n)
相減法(更相減損法)
這種方法比較易于理解,原理是先判斷兩個正整數(shù)大小,并將較大數(shù)與較小數(shù)的差值賦給較大數(shù),循環(huán)此步驟直到兩數(shù)相等,此時得出最大公約數(shù)。最后利用公式計算得到這兩個數(shù)的最小公倍數(shù)。文章來源:http://www.zghlxwxcb.cn/news/detail-850901.html
代碼示例:
print("請輸入兩個正整數(shù):")
m = int(input())
n = int(input())
x = m * n # x用于存放m與n的乘積
print(f"{m}和{n}的最小公倍數(shù)是:", end='') # 此時輸出m和n的值還沒改變
while m != n:
if m > n:
m = m - n
else:
n = n - m
print(x // m)
到了這里,關(guān)于最小公倍數(shù)Python——三種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!