У меня есть такой код Python.
k=int(input())
m=int(input())
a=[]
max=0
for i in range(k):
p=list(map(int,input().split()))
q=p[1:]
a.append(q)
x=[]
list48=[]
for num1 in a[0]:
for num2 in a[1]:
for num3 in a[2]:
for num4 in a[3]:
for num5 in a[4]:
for num6 in a[5]:
for num7 in a[6]:
x.extend((num1,num2,num3,num4,num5,num6,num7))
list48.append(x)
x=[]
smax=0
for i in list48:
sum=0
for j in i:
sum=sum+(j**2)
sum=sum%m
if(sum>smax):
smax=sum
print(smax)
Вот список списков.Он может иметь размер от 0 до 7. Размер каждого списка в a также находится между 0 и 7.Приведенный выше код работает для a с размером 7.
Как создать рекурсивную функцию с короткими строками кода для вычисления ответа для списка 'a' любого размера.
Я пробовал иРезультат вычисляется с использованием itertools, но не может получить логический подход.Вернуться к основам!!
Ниже приведен код, использующий itertools.
lis=list(itertools.product(*a))