PDA

View Full Version : Combinare elementi in modo particolare. C++


arsenicone
18-06-2014, 14:27
Salve,

ho un vettore di numeri.

esempio vet = {3, 5, 1, 2};

vorrei sapere se combinando i numeri del vettore posso ottenere il mio numero. ( anche sommandoli )

esempio numero 9: -> combinazione: 3 + 5 + 1

tutte le combinazioni:

3 no
5 no
1 no
2 no
3 + 5 no
3 + 1 no
3 + 2 no
5 + 1 no
5 + 2 no
1 + 2 no
3 + 5 + 1 si poichè il tot è 9 ovvero il numero scelto
3 + 5 + 2 no
3 + 1 + 2 no
5 + 1 + 2 no

in c++ come implementare la funzione ??

NON SERVERE VEDERE LE COMBINAZIONI CON GLI STESSI NUMERI MA CON POSTI DIVERSI.

esempio la somma di 3 + 5 + 1 è possibile vederla come 3+1+5 / 5+1+3 / 5+3+1 / 1+3+5 / 1+5+3. (solo una serve-> tanto la somma è uguale)

wingman87
19-06-2014, 19:29
Se ho capito bene il tuo problema è questo:
http://en.m.wikipedia.org/wiki/Subset_sum_problem