龐果網 最小公倍數

2021-06-20 19:56:53 字數 1053 閱讀 6289

最小公倍數

題目詳情

問題描述:

給你n組測試資料,每組測試資料有m(0

input:

輸入n,隨後有n行,每行開頭輸入m,m之後有m個正整數,相鄰數之間用空格隔開。

output:

每行輸出乙個數(該數在int範圍內,同時,數前面加個「case 1: 」,表示第幾個case,如「case 1: 6」),相鄰兩組結果之間有乙個空行,輸出完最後乙個結果後,再加乙個空行,具體形式見樣例。

答題說明

輸入樣例:

32 2 3

3 2 5 7

5 1 2 3 4 5

輸出樣例:

case 1: 6

case 2: 70

case 3: 60

思路:對於每一行,兩兩求取最小公倍數。

求最小公倍數則採用先求a,b的最小公約數gys,則最小公倍數為:a*b/gys。

求最小公約數採用輾轉相除法,遞迴呼叫自身得到。

**如下:

row = input()

matrix =

for i in range(row):

line = raw_input()

nums = line.split(" ")

#求最小公約數

def gys(a, b):

if(b == 0):

return a

else:

return gys(b, a%b)

#求最小公倍數

def gbs(a, b):

gy = gys(a,b)

return a * b / gy

index = 1

for array in matrix:

gb = int(array[0])

for each in array[1:]:

num = int(each)

gb = gbs(gb, num)

print("case "+str(index)+": "+str(gb)+"\n")

最小公倍數

最大公倍數最大是兩個數的乘積,兩個數互質 最大公約數是1 幾個數共有的倍數叫做這幾個數的公倍數,其中除0以外最小的乙個公倍數,叫做這幾個數的最小公倍數。記作 a,b 與最小公倍數相對應的概念是最大公約數,a,b的最大公約數記為 a,b 關於最小公倍數與最大公約數,我們有這樣的定理 a,b a,b a...

最小公倍數

問題描述 編寫一函式lcm,求解兩個正整數的最小公倍數。樣例輸入 乙個滿足題目要求的輸入樣例。例 3 5 樣例輸出 與上面樣例對應的輸出。例 15 資料規模和約定 輸入資料中每乙個數的範圍 例 兩個數都小於65536.演算法分析 一般來說,求兩個正整數a b的最小公倍數的演算法思路很簡單,主要分為以...

最小公倍數

求n個數的最小公倍數。輸入 輸入包含多個測試例項,每個測試例項的開始是乙個正整數n 2 n 10 然後是n個正整數。輸出為每組測試資料輸出它們的最小公倍數,每個測試例項的輸出佔一行。你可以假設最後的輸出是乙個32位的整數。樣例輸入 2 4 6 3 2 5 7 樣例輸出 1270 題目 zjgsuto...