>>> import random
>>>
>>> def random_numb(n):
... L = []
... for i in range(n):
... x = random.randint(-20, 20)
... L.append(x)
... return L
...
>>> def nod(a, b): #nod
... a, b = abs(a), abs(b)
... if not (a and b):
... return a + b
... if a > b:
... return nod(b, a % b)
... else:
... return nod(a, b % a)
...
>>> def nok(a, b): #nok
... return abs(a * b) // (nod(a, b) or 1)
...
>>> def nok_of_array(L): #nok spiska
... if len(L) == 2:
... return nok(L[0], L[1])
... else:
... return nok(nok_of_array(L[:-1]) , L[-1]) # Тут сама проблема
...
>>> n = 10 #int(input())
>>> M = random_numb(n)
>>> print(M)
[-11, -20, 6, -9, -3, 14, -5, 19, 16, 1]
>>> print(nok_of_array(M))
1053360
>>>