Untitled

mail@pastecode.io avatar
unknown
python
2 years ago
1.3 kB
2
Indexable
Never
#Datos aleatorios para que furule el codigo.
M=6
MasterList=[[9, 5, 2, 8, 9, 9],[3, 3, 5, 1, 4, 5, 1, 2],[1, 2, 9, 5, 4, 7, 3],[7, 5, 8, 8, 4],[5, 1, 4, 2]]
BestResult=[0]

#Esta funcion coje cada combinacion, hace calculos con ellas, y guarda el maximo resultado en BestResult.
def DoCalc(lista):
        k=0
        for numero in lista:
            k+=(numero*numero)
        
        if k%M>BestResult[0]:
            BestResult[0]=k%M
            




#Esta parte inicia una lista con la que trabajar
SolutionList2=[]
for listt in MasterList:
    SolutionList2.append(listt[0])




#En esta funcion esta la chicha, mira aqui para entender el codigo.
def Iter2(MasterList,i=0):
    j=0
       
    if i==len(MasterList)-1:    #Si estamos en la ultima fila:
        while j<len(MasterList[i]):
            SolutionList2[i]=MasterList[i][j]
            DoCalc(SolutionList2)
            j+=1


    else:
        while j<len(MasterList[i]): #En el resto de casos
            SolutionList2[i]=MasterList[i][j]
            Iter2(MasterList,i+1)
            j+=1
    return BestResult[0]




#Esto imprime el resultado en pantalla, el resultado es BestResult, que no te interesa. 
print(Iter2(MasterList))