Algorytm obliczający sumę

0

Cześć

Mam problem z algorytmem.
Muszę napisać taki program, gdzie podaje liczbę (sumę podzbioru A), a otrzymuje sumowane elementy

Na przykład:

Mój zbiór A

  • 5
  • 10
  • 20
  • 30

Zadanie algorytmu:
Wyznacz elementy zbioru które dadzą sumę 25

Odpowiedź:

  • 5
  • 20

Założenie jest takie, że możliwe jest wyznaczenie tylko jednego takiego podzbioru.
Piszę w Java, C#, C++, ale nie wiem, jak ogarnąć algorytm :)

3

To jest problem "subset sum" -> http://en.wikipedia.org/wiki/Subset_sum_problem i jest to problem NP względem rozmiaru danych, ale przy ograniczeniu rozmiaru liczb na wejściu można napisać dynamiczny algorytm wielomianowy -> http://en.wikipedia.org/wiki/Subset_sum_problem#Pseudo-polynomial_time_dynamic_programming_solution

1 użytkowników online, w tym zalogowanych: 0, gości: 1