两个整数公有的倍数称为它们的公倍数,其中最小的一个正整数称为它们两个的最小公倍数。当然,n个数也可以有最小公倍数,例如:5,7,15的最小公倍数是105。
输入n个数,请计算它们的最小公倍数。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。
每组测试先输入一个整数n(2≤n≤20),再输入n个正整数(属于[1,100000]范围内)。这里保证最终的结果在int型范围内。
输出格式:
对于每组测试,输出n个整数的最小公倍数。
输入样例:
4
3 5 7 15
5 1 2 4 3 5
8 7 15 12 3 4 6 4 9
2 45000 50000
输出样例:
105
60
1260
450000
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
def zs(n):
for i in range(2,n//2+1):
if n%i==0: return False
return True
def gb(x,y):
m=max(x,y)
n=min(x,y)
if m%n==0: return m
elif zs(x) and zs(y): return x*y
else:
t=2
while True:
if (m*t)%n==0: return m*t
else: t=t+1
n=int(input())
for i in range(n):
x=input().split()
x=list(map(int,x))
x.pop(0)
t=1
for i in range(len(x)):
t=gb(t,x[i])
print(t)