Autor Beitrag
Korina
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 24.10.05 20:13 
Hallo,
ich möchte folg. Algorithmus im Pseudocode basteln, komme aber irgendwie nicht zum Ergebnis.

Es geht um einen Algorithmus, der für einen Betrag zwischen 0 und 100 Cent Wechselgeld ausgibt. Dabei stehen jeweils genügend viele Münzen im Wert von 1, 2, 5, 10, 20 und 50 Cent zur Verfügung. Ziel ist es, mit möglichst wenigen Münzen auszukommen.

Habe mir überlegt, dass man zuerst die Größte Münze vom Wechselgeld abzieht, den Wert der Münze vom Wechselgeld abzieht und das ganze solange wiederholt bis der Münzwert minus das Wechselgeld gleich null ist.
Und nu das ganze im Pseudocode. Wer kann mir helfen?
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 24.10.05 20:18 
Hallo und :welcome: in der Entwickler-Ecke!

Das ist recht einfach, ungefähr so:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
solange Betrag >= 50 mache
    Gib 50 Cent aus
    Betrag = Betrag - 50
solange Betrag >= 20 mache
    Gib 20 Cent aus
    Betrag = Betrag - 20

usw.


Edit: Bei diesen Münzwerten funktioniert dieses Verfahren auch (es ist "Greedy"), aber nicht mit allen: bei Münzwerten 50, 40, 20, 10, 5, 2, 1 und Wechselgeld 80 würde er 50-20-10 (3 Münzen) zurückgeben, optimal wären aber 40-40 (2 Münzen)

_________________
We are, we were and will not be.
Korina Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 24.10.05 20:32 
danke hab mal wieder viel zu kompliziert gedacht ;-)