Urgente - Soma de Valores em posições aleatórios de uma

5 respostas
B

Pessoal.

Eu tenho uma lista com valores, e tenho que selecionar nessa lista alguns valores que satisfação a uma condição:
Ex:
Lista => [1,2,3,4,5,6,7,8,9,10,11,12,13…]

Tenho que retornar os valores que somados seja igual a 15.

Resultado:

13+2 = 15;

12+3 = 15;

11+3+1 = 15;

8+5+2 = 15;

7+4+3+1=15;


Estou no aguardo.

Desde já agradeço.

5 Respostas

F

Faculdade??

Vamos pensar um pouco amigo…

Modo tosco, mas serve de base…

int i=Integer…lista[1]
int y=Integer…lista[12]

i+y=15;

i=2 e y=13…

Faça um loop que vasculhe o array, combinando os resultados para ver qual dará 15, se não der false se der true;

B

Creio que o FelipeSS_2, está um pouco equivocado na resposta acima.

Pois não tenho a necessidade de comparar DUAS listas com valores e sim quer retorne todas as combinações possiveis de 1 ou mais valores para chegar a um determinado valor em um universo limitado de opções.

Um outro exemplo da minha necessidade é a seguinte:
Eu tenho um valor ex: 50.000,00 R$, que vai ser distribuido entre pessoas que fizeram projetos para aquisição de determinados objetos que necessitavam, esses projetos podem ter os mais diversos valores.
Então a pergunta é a seguinte, em um conjunto de 200 projetos por exemplo, quais projetos podem ser selecionados, em que o somatório dos mesmos sejam iguais a 50.000,00 R$.
Ai sim pode ter como resultado um conjunto de listas contendo os projetos selecionados.

Atenciosamente.

S

Bin_Laden, acho que você não entendeu o post do Felipe. ele não está comparando duas lista, mas sim posições de uma mesma lista. Leia com mais cuidado…

Curiosidade… Qual a matéria ? Algoritmo ? Cálculo ? Probabilidade/Combinações e afins ?

B

Eu entedi o que o FelipeSS_2 queria dizer sim, só que para resolver este problema, na minha opnião deve-se usar recursão, pois a comparação não é somente entre dois numero e sim somando vários para chegar a um total.

Bom, o algoritmo já foi feito, e gostaria de agradecer a FelipeSS_2 e todos os outros interessados no assunto.

Faleu…

S

Evite o uso de recursão. Normalmente tudo o que você faz com recursão, você consegue fazer sem ela. Lógico que o algorítmo fica mais complicado, mas o uso de memória diminui bastante.

Então, como você está na faculdade, faça sempre das duas formas, uma com uso de recursão e outra sem, assim vc já evolui a sua maneira de pensar.

Criado 8 de abril de 2005
Ultima resposta 11 de abr. de 2005
Respostas 5
Participantes 3