Skip to content

Instantly share code, notes, and snippets.

@mirwox
Created September 15, 2023 01:19
Show Gist options
  • Save mirwox/99cabb92a0f00a600713ed75fd7df48c to your computer and use it in GitHub Desktop.
Save mirwox/99cabb92a0f00a600713ed75fd7df48c to your computer and use it in GitHub Desktop.
from math import inf
def maior_produto3(lista):
max_produto = -inf
maior_lista = []
for i in range(len(lista)):
# Cópia da lista para poder apagar elemento
lista_elemento_1 = list(lista)
# Vamos começar a combinação de 3 aqui
combinacao = []
# Coloca o primeiro elemento na combinação
n1 = lista[i]
combinacao.append(n1)
# Apaga o elemento já escolhido para este não se repetir
# Lembre que combinações não tem repetição
del lista_elemento_1[i]
for j in range(len(lista_elemento_1)):
combinacao2 = list(combinacao)
combinacao2.append(lista_elemento_1[j])
lista_elemento_2 = list(lista_elemento_1)
del(lista_elemento_2[j])
for k in range(len(lista_elemento_2)):
lista_elemento_3 = list(lista_elemento_2)
combinacao3 = list(combinacao2)
combinacao3.append(lista_elemento_3[k])
print(combinacao3)
prod = produto(combinacao3)
if prod > max_produto:
maior_lista = combinacao3
max_produto = prod
return max_produto
def produto(lista):
p = 1
for l in lista:
p*=l
return p
# if __name__ == "__main__":
# lista = [-10, -20, 20, 1]
# print(maior_produto3(lista))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment