Um den Verkauf verschiedener Bücher aus einer beliebten fünfbändigen Buchreihe anzukurbeln, hat ein Buchladen beschlossen, beim Kauf mehrerer Bücher Rabatte zu gewähren.
Ein Exemplar eines der fünf Bücher kostet 8 $.
Wenn du jedoch zwei verschiedene Bücher kaufst, bekommst du 5 % Rabatt auf diese beiden Bücher.
Wenn du 3 verschiedene Bücher kaufst, bekommst du 10 % Rabatt.
Wenn du 4 verschiedene Bücher kaufst, bekommst du 20 % Rabatt.
Wenn du alle 5 kaufst, bekommst du 25 % Rabatt.
Hinweis: Wenn du vier Bücher kaufst, von denen 3 verschiedene Titel sind, bekommst du 10 % Rabatt auf die 3 Bücher, die Teil eines Sets sind, aber das vierte Buch kostet weiterhin 8 $.
Deine Aufgabe ist es, ein Stück Code zu schreiben, das den Preis für jeden denkbaren Einkaufskorb berechnet (der nur Bücher derselben Reihe enthält) und dabei den größtmöglichen Rabatt gewährt.
Wie viel kostet zum Beispiel dieser Einkaufskorb?
Eine Möglichkeit, diese 8 Bücher zu gruppieren, ist:
Das ergäbe insgesamt:
Das ergibt:
Insgesamt also $51.60
Eine andere Möglichkeit, diese 8 Bücher zu gruppieren, ist jedoch:
Das ergäbe insgesamt:
Das ergibt:
Insgesamt also $51.20
Und $51.20 ist der Preis mit dem größten Rabatt.
Melde dich bei Exercism an, um Delphi Pascal mit 76 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.