| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2006 14:30:42
|
micheljuca
JavaTeenager
![[Avatar]](/images/avatar/1963bd5135521d623f6c29e6b1174975.png)
Membro desde: 11/08/2005 15:20:20
Mensagens: 184
Localização: Brasília - DF
Offline
|
Pessoal,
vê se alguém consegue me ajuda com esse algoritmo.
Uma rotina que receba um conjunto de entradas, por exemplo,
1-2-3-4-5-6 (6 entradas), e um total, por exemplo 7.
A rotina deve responder quais entradas combinadas (somadas) atingem o valor total, ou seja, 1+2+4, 3+4, e 1+6.
Andei observando que são muitas possibilidades, no caso a quantidade de entradas pode chegar a 36.
Obrigado pela ajuda.
|
--
Michel A. Jucá |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2006 22:01:26
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Combinadas 2 a 2?
[edit]
desculpa, acabei de ver que pode ser qq quantidade
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2006 11:06:16
|
cassio
GUJ Master
![[Avatar]](/images/avatar/8ae7398026ed8f2172aefd6cbc856bc8.jpg)
Membro desde: 19/06/2006 08:25:28
Mensagens: 1336
Localização: Caieiras-SP
Offline
|
Olá!
Você pode fazer isso usando backtracking, isto é, recursividade!
Atente para o fato de que adição é comutativa, assim 2 + 3 = 3 + 2.
Procure por algorítmos para análise combinatória.
Mais dica que isso, só no google
Abraço!
|
Cássio Marques
Blog
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2006 12:36:06
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
sugestão:
ordene as suas entradas de forma crescente.
imagine q vc tem
1 2 4 5 9
total: 6
vc tem 1 + 5 e 2 + 4, porem vc não precisa comparar o 9, compreendeu.
- pegue o "primeiro" número SE for menor que total
- pegue o proximo número
- se o proximo é menor ou igual a (total - primeiro) compare soma.
se for maior interrompe.
vai dar uma agilidade ao seu algoritmo.
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
|
|