# Função para obter todos os dígitos de todos os números como uma lista de inteiros
def obter_todos_digitos(*numeros):
digitos = []
for numero in numeros:
digitos.extend([int(digito) for digito in str(numero) if int(digito) != 0])
return list(set(digitos)) # Remover duplicatas e o dígito 0
# Função para calcular combinações de soma com dois algarismos e salvar em um dicionário
def calcular_combinacoes_soma_dois_algarismos(valores):
# Extrair todos os dígitos dos valores fornecidos, excluindo 0 e duplicatas
todos_digitos = obter_todos_digitos(*valores)
# Dicionário para armazenar as combinações de soma
combinacoes_soma = {}
# Para cada valor, tentar somar com cada dígito disponível
for valor in valores:
for digito in todos_digitos:
soma = valor + digito
if soma <= 36:
combinacao = f"{valor} + {digito}"
if soma not in combinacoes_soma:
combinacoes_soma[soma] = [combinacao]
else:
combinacoes_soma[soma].append(combinacao)
# Somar os dígitos disponíveis entre si, evitando duplicações nas somas
for i in range(len(todos_digitos)):
for j in range(i + 1, len(todos_digitos)):
soma_digitos = todos_digitos[i] + todos_digitos[j]
if soma_digitos <= 36:
combinacao = f"{todos_digitos[i]} + {todos_digitos[j]}"
if soma_digitos not in combinacoes_soma:
combinacoes_soma[soma_digitos] = [combinacao]
else:
combinacoes_soma[soma_digitos].append(combinacao)
return combinacoes_soma
# Aqui você coloca os números
while True:
print("Digite quatro números, separados por espaço (ou 'sair' para encerrar):")
entrada = input()
if
entrada.lower() == 'sair':
break
valores = list(map(int,
entrada.split()))
# Calculando as combinações de soma e salvando no dicionário
combinacoes_soma = calcular_combinacoes_soma_dois_algarismos(valores)
# Verificação do Resultado
Resultado = [[28,7,12],[31,14,20],[19,4,21],[13,11,36],[25,2,17]]
BoolTemp = False
for x in Resultado:
for i in x:
if i in combinacoes_soma:
print(f"Combinações que geram a soma {i}: {combinacoes_soma[i]}")
BoolTemp = True
if BoolTemp == True:
break
if not BoolTemp:
print("Nenhuma das somas especificadas foi encontrada nas combinações.")
Contexto Geral do Projeto
Gostaria de criar uma interface gráfica, tenho um exemplo.
Prazo de Entrega: Não estabelecido