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. )
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.
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)] |