最小公倍數(shù)m一定滿足x+1=m=x*y,在這個范圍內(nèi)從x*y到x+1進(jìn)行搜索,-1表示步長。最后出現(xiàn)的那個肯定是最下公倍數(shù)。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供巴林左旗網(wǎng)站建設(shè)、巴林左旗做網(wǎng)站、巴林左旗網(wǎng)站設(shè)計、巴林左旗網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、巴林左旗企業(yè)網(wǎng)站模板建站服務(wù),10余年巴林左旗做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
先求出兩個正整數(shù)的質(zhì)數(shù)乘積(單獨一個函數(shù))。參考輸出,例:40返回值是{"2":3,"5":1}意思是2的3次方*5,就是合并,并且保留指數(shù)最大的就行。
def gcd(a, b): # 求最大公約數(shù)
x = a % b
while (x != 0):
a, b = b, x
x = a % b
return b
def lcm(a,b): # 求最小公倍數(shù)
return a*b//gcd(a,b)
擴(kuò)展資料:
最小公倍數(shù)的適用范圍:分?jǐn)?shù)的加減法,中國剩余定理(正確的題在最小公倍數(shù)內(nèi)有解,有唯一的解)。因為,素數(shù)是不能被1和自身數(shù)以外的其它數(shù)整除的數(shù);素數(shù)X的N次方,是只能被X的N及以下次方,1和自身數(shù)整除。所以,給最小公倍數(shù)下一個定義:S個數(shù)的最小公倍數(shù),為這S個數(shù)中所含素因子的最高次方之間的乘積。
參考資料來源:百度百科-最小公倍數(shù)
Python的輸入輸出分別是利用函數(shù):
str = input("請輸入:");
print ("你輸入的內(nèi)容是: ", str);
input函數(shù)返回一個string類型的值,聲明一個變量來接收輸入的值,print是輸出
lst = [] #定義一個空列表
str = raw_input("請輸入數(shù)值,用空格隔開:")
lst1 = str.split(" ")#lst1用來存儲輸入的字符串,用空格分割
i = 0
while i = len(lst1)+1:
lst.a(chǎn)ppend(int(lst1.pop()))#將lst1的數(shù)據(jù)轉(zhuǎn)換為整型并賦值給lst
i += 1
#print(lst)
def sum(list):
"對列表的數(shù)值求和"
s = 0
for x in list:
s += x
return s
def average(list):
"對列表數(shù)據(jù)求平均值"
avg = 0
avg = sum(list)/(len(list)*1.0) #調(diào)用sum函數(shù)求和
return avg
print("avg = %f"%average(lst))
擴(kuò)展資料:
for循環(huán)小括號里第一個“;”號前為一個為不參與循環(huán)的單次表達(dá)式,其可作為某一變量的初始化賦值語句, 用來給循環(huán)控制變量賦初值; 也可用來計算其它與for循環(huán)無關(guān)但先于循環(huán)部分處理的一個表達(dá)式。
執(zhí)行的中間循環(huán)體可以為一個語句,也可以為多個語句,當(dāng)中間循環(huán)體只有一個語句時,其大括號{}可以省略,執(zhí)行完中間循環(huán)體后接著執(zhí)行末尾循環(huán)體。
執(zhí)行末尾循環(huán)體后將再次進(jìn)行條件判斷,若條件還成立,則繼續(xù)重復(fù)上述循環(huán),當(dāng)條件不成立時則跳出當(dāng)下for循環(huán)。
i?=?input('Input?number:?')
if?int(i)?%?2?==?1:
print('奇數(shù)')
else:
print('偶數(shù)')