Foto de Giovani M.
Giovani há 5 anos
Enviada pelo
Site

Quais combinacoes de soma entre esses numeros são possivels?

Quais combinações são possíveis fazer entre esses numeros para dar o numero 52? 22 5 18 7 7 19 11 8 (não é pegadinha, até o momento descobri "22,5,18 e 7" e "22,19,11", mas na tentativa e erro, gostaria de saber se há como resolver através de alguma fórmula. )

Professor Luis G.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 5 anos
Contatar Luis

Olá, Giovani.

Não sei se é possível desenvolver uma fórmula para resolver esse problema, mas provavelmente é possível desenvolver um algoritmo.

De qualquer maneira, vou tentar apresentar minha interpretação do problema, talvez te ajude.

Os números são:

A = {22, 19, 18, 11, 8, 7, 5}

correto? Ou o 7 é considerado duas vezes?

A soma desse conjunto é 90 (= 22 + 19 + 18 + 11 + 8 + 7 + 5), menos 52 é 38. Então você pode verificar a combinação cuja a soma resulta em 38 e você terá o conjunto que complementa o que você busca.

B' = {

{22, 11, 5},

{19, 11, 8},

{18, 8, 7, 5},

}

Então o conjunto que buscamos é

B = {

{19, 18, 8, 7},

{22, 18, 7, 5},

{22, 19, 11},

}

 

Procure sobre o "quadrado mágico". É uma aplicação de problema como esse.

 

Espero ter ajudado.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Professor André A.
Respondeu há 5 anos
Contatar André

Boa noite,... Não conheço fórmula para isso... mas algoritmo sim... Em Python temos esse algoritmo:

from itertools import permutations
from itertools import combinations
import xlwt

lista=[22,19,18,11,8,7,5]
soma_valor=52

resultados=[]
for i in range(len(lista)):
      c = list(combinations(lista, i+1))
      unq = list(set(c))
      for zeta in range(len(unq)):
            if sum(unq[zeta])==soma_valor:
resultados.append(unq[zeta])

Este algoritmo resulta nos seguintes vetores cuja soma é igual a 52:

[(22, 19, 11), (22, 18, 7, 5), (19, 18, 8, 7)]

 

PS: Usando este mesmo código, seria possível listar todas as somas possíveis... Se ao invés de 52 colocassemos um range de valores entre 1 a 100, encontraríamos 4 vetores cujas somas equivalem a 37, 42, 45, 48 e 53. Sendo assim:

Soma Vetores
37 [(19, 18), (19, 11, 7), (22, 8, 7), (18, 11, 8)]
42 [(19, 18, 5), (18, 11, 8, 5), (22, 8, 7, 5), (19, 11, 7, 5)]
45 [(19, 18, 8), (22, 18, 5), (19, 11, 8, 7), (22, 11, 7, 5)]
48 [(19, 18, 11), (22, 18, 8), (22, 19, 7), (22, 11, 8, 7)]
53 [(22, 19, 7, 5), (22, 18, 8, 5), (19, 18, 11, 5), (22, 11, 8, 7, 5)]
52 [(22, 19, 11), (22, 18, 7, 5), (19, 18, 8, 7)]

 

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor