Bestimmte Summe aus verschiedenen Zahlenwerten bilden |
15.06.2010, 11:01 | TBOBKIN | Auf diesen Beitrag antworten » | ||||
Bestimmte Summe aus verschiedenen Zahlenwerten bilden ich habe folgende Aufgabe / Problem: Und zwar hab ich verschiedene Zahlen, z.B.: 113 250 55 60 300 17 5 450 81 22 73 Des Weiteren eine feste Zahl wie 201. Nun muss ich eine oder mehrere Konstellation von Zahlen finden, die addiert den Wert 201 ergeben. Wie gehe ich dies an ? Gibt es für dieses Problem eine mathematische Formel oder müsste ich theoretisch alle Kombinationen durchgehen, was ein wenig blöd wäre ? Vielen Dank im Voraus. Gruß TBOBKIN |
||||||
15.06.2010, 11:15 | AD | Auf diesen Beitrag antworten » | ||||
Ich nehme mal an, jede der gegebenen Zahlen darf höchstens einmal als Summand auftreten, d.h., ohne Wiederholung? Und alle Zahlen sind positiv?
Wenn dein "Summanden-Pool" keine spezielle Struktur hat, dann geht das hier höchstens algorithmisch rekursiv. Alle Kombinationen durchprobieren ist nicht nötig, da man per Branch & Bound unter Nutzung bereits erreichter Teilsummen die Sache mächtig reduzieren kann. |
||||||
15.06.2010, 11:25 | TBOBKIN | Auf diesen Beitrag antworten » | ||||
Genau, die Zahlen dürfen nur einmal vorkommen und sind alle positiv. Das mit dem Branch & Bound müsstest du mir genauer erläutern, da ich kein Mathepofi bin bzw. davon noch nichts gehört habe. |
||||||
15.06.2010, 11:36 | AD | Auf diesen Beitrag antworten » | ||||
Das ist ein allgemeines Prinzip aus der Informatik: http://de.wikipedia.org/wiki/Branch-and-Bound Die konkrete Umsetzung muss bei jedem Problem speziell angepasst werden - im vorliegenden Fall gibt es da ziemlich naheliegende Ideen. |
||||||
15.06.2010, 12:03 | wisili | Auf diesen Beitrag antworten » | ||||
81+60+55+5=201 |
||||||
15.06.2010, 13:04 | TBOBKIN | Auf diesen Beitrag antworten » | ||||
Das Ergebnis stimmt scho, aber die zahlen können variieren, somit muss ich etwas dynamisches entwickeln, was dieses Ergebnis automatisch findet. |
||||||
Anzeige | ||||||
|
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|