Ok - er det en skoleopgave (ligner ...) eller noget du skal bruge i praksis? Og kan det passe at med de angivne tal giver det i hvert fald disse (alle summer til præcis 20):
Ok, jeg er ikke helt sikker på jeg forstår. Er rækkefølgen i din udskrift så ligegyldig?
En metode, der giver et resultet, men ikke altid det optimale, er noget i retning af:
1) Vi skal starte på en ny pakke 2) Tag det største af de tilbageværende tal (er det større en pakken er det en fejl) 3) Bliv ved med at tage det størst mulige tilbageværende tal, indtil der er ikke er flere muligheder. Det er så pakken.
Med (9,8,6,1,1,2,1,6,13) og max på 20 bliver det
Pakke1: 13 6 1 Fordi 9 og 8 ikke kan bruges Pakke2: 9 8 2 1 Pakke3: 6 1
Metoden giver ikke færrest mulige pakker, og sikrer heller ikke en jævn fordeling. Hvis der er mange tal, vil det lang tid at opnå de sidste ting.
dit problem svarer til det klassiske "knapsack" problem, som kan løses ved at benytte en teknik kaldet dynamisk programmering. Hvis du stadig er interesseret kan jeg give dig en komplet løsning ....
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.