Mam pewną liczbę, np. 18. Mam także kilka liczb: 3, 9, 5, 7, 3. Muszę wśród nich znaleźć jak najmniej liczb, które dadzą mi dokładanie 18 (tzn. warunek jest taki: >= 18). Nie mam jednak pomysłu, jak to rozwiązać.
Próbowałam w pętli sumować po kolei, ale to nie zawsze dobry pomysł. Dla mojego rozwiązania najmniejsza ilość liczb to 3, bo mogą być np. 3,7,9 i 9,5,7. Może ktoś podpowiedzieć?
Tu kawałek kodu w C++
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
int liczba = 18;
int tablica[] = {3, 9, 5, 7, 3};
int ilosc = 5;
int suma = 0;
int ile = 0;
int i = 0;
while(suma < liczba)
{
}
return 0;
}