Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

1

13.10.2014, 14:56

Algorithmus Preiszusammensetzung

Hallo, ich suche einen Algorithmus, der mir sagt, ob eine Zahl eine Summe anderer Zahlen sein kann.
Also:

Ich habe 3 Zahlen: 8, 15 und 25.
Nun soll ich die größte Zahl finden, die nicht aus diesen zusammensetzbar ist.
Ein Greedy-Algorithmus ist leider nicht hilfreich, weil dieser sagen wird 30 ist nicht zusammensetzbar, obwohl 15 +15 eine Lösung ist.

Ich habe keinen gefunden und hoffe jemand kann mir helfen.

mfg

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

13.10.2014, 14:58

Was heißt "die größte Zahl"?

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

3

13.10.2014, 15:03

Naja, die größte Zahl, ab dann wird es keine mehr geben.
Es geht um Flaschen die 8,15,25 cent Pfand geben. Und die Aufgabe ist den größten Betrag zu finden, der sich nicht mit den Flaschen passend bezahlen lässt. Es gibt sicher eine Lösung zu dieser Aufgabe, also existiert ein Grenzwert.

Unendlich wäre eine Option aber wahrscheinlich falsch.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

13.10.2014, 15:05

Wenn ich dir jetzt einen Algorithmus gebe, was bringt er dir?
Du kannst ja nicht unendlich viele Zahlen damit durchprobieren.
Das müsstest du aber, um mit Sicherheit sagen zu können, dass es keine noch größere Zahl gibt, die zusammensetzbar ist.
Das Problem ist rein mathematisch. Programmieren hilft dir hier nichts, würde ich mal sagen.

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

5

13.10.2014, 15:06

Mathematische Lösung ist auch in Ordnung ;)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

7

13.10.2014, 15:17

Ah cool danke, hat geholfen.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

13.10.2014, 16:52

Auch wenn du es vielleicht jetzt schon gelöst hast: Ich habe nochmal darüber nachgedacht. Ein Algorithmus kann sehr wohl helfen, um die Zahl zu bestimmen, denn man muss gar nicht "alle" Zahlen probieren. Wenn A, B, C meine drei "Einheiten" sind und ich eine Zahl N habe, die sich nicht als Summe (Linearkombination) darstellen lässt, dann muss ich nur die nächsten min(A, B, C) Zahlen testen. Wenn diese sich allesamt als Summe darstellen lassen, dann ist N die größte derartige Zahl. Siehe McNugget-Beispiel im Wikipedia-Artikel. Ein solcher Algorithmus, der mir sagt, ob eine Zahl als Summe von gegebenen Zahlen darstellbar ist, fällt mir allerdings momentan nicht ein. (außer Bruteforce)

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

9

13.10.2014, 22:37

Ja BruteForce hat zur Lösung geführt, mit der Annäherung konnte ich die Suche einschränken.

Werbeanzeige