随机生成一组正整数,并用列表进行储存,用Python编程求出所有数的最小公倍数,比如[3,5,10]结果输出为30。帮忙解答一下
import random
# 求两个数的最小公倍数
def lcm(x, y):
a = x
b = y
while y:
x,y = y, x % y
return a * b // x
# 求任意数的最小公倍数
num = [random.randint(1,10) for k in range(4)]
LCM = int(num[0])
for i in range(len(num)):
if i+1 == len(num):
break
LCM = lcm(LCM,int(num[i+1]))
print(num)
print('最小公倍数为:%d' % LCM)
import random
import math
res = [random.randint(1, 20) for _ in range(4)]
print(res)
r = math.lcm(*res)
print(r)
--result
[3, 10, 8, 6]
120