庞果网:最小公倍数
最小公倍數
題目詳情
問題描述:
給你n組測試數據,每組測試數據有m(0<m<=100)個正整數,求出m個數的最小公倍數。
Input:
輸入n,隨后有n行,每行開頭輸入m,m之后有m個正整數,相鄰數之間用空格隔開。
Output:
每行輸出一個數(該數在int范圍內,同時,數前面加個“Case 1: ”,表示第幾個Case,如“Case 1: 6”),相鄰兩組結果之間有一個空行,輸出完最后一個結果后,再加一個空行,具體形式見樣例。
答題說明輸入樣例:
3
2 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(" ")matrix.append(nums[1:])#求最小公約數 def gys(a, b):if(b == 0):return aelse:return gys(b, a%b)#求最小公倍數 def gbs(a, b):gy = gys(a,b)return a * b / gyindex = 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")總結
- 上一篇: 使用libsvm对MNIST数据集进行实
- 下一篇: Logistic Function ==