Это то, с чем я пришел, пытаясь решить мою проблему. Какие-нибудь мысли? Спасибо за отзыв.
def lcm(nums):
max_ = max(nums)
i = 1
while True:
mult = max_ * i
if all(mult%nr == 0 for nr in nums):
return mult
i += 1
>>> lcm([19, 7, 8])
>>> 1064
и
def __gcd_(x,y):
while(y):
x,y=y,x%y
return x
def gcd(nums):
if len(nums) == 2:
return __mdc_(nums[0], nums[1])
else:
gcd_val = __gcd_(nums[0], nums[1])
nums[0] = gcd_val
del nums[1]
return gcd(nums)
>> gcd([30, 54, 72])
>> 6