Returns the least common multiple of a list of numbers.

Use functools.reduce(), math.gcd() and lcm(x,y) = x * y / gcd(x,y) over the given list.

代码实现

from functools import reduce
from math import gcd

def lcm(numbers):
  return reduce((lambda x, y: int(x * y / gcd(x, y))), numbers)

使用样例

lcm([12, 7]) # 84
lcm([1, 3, 4, 5]) # 60