Files
30-seconds-of-code/test/lcm/lcm.py
Rohit Tanwar 385bf72a3e readme-script
2018-02-20 22:42:11 +05:30

24 lines
442 B
Python

from functools import reduce
def spread(arg):
ret = []
for i in arg:
if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret
def lcm(*args):
numbers = []
numbers.extend(spread(list(args)))
def _gcd(x, y):
return x if not y else _gcd(y, x % y)
def _lcm(x, y):
return x * y / _gcd(x, y)
return reduce((lambda x, y: _lcm(x, y)), numbers)