最小公倍数
思路:
对于每一行,两两求取最小公倍数。
求最小公倍数则采用先求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 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")