Щоб заохотити продажі різних книжок із популярної серії з 5 книжок, книгарня вирішила пропонувати знижки на покупку кількох книжок одночасно.
Один примірник будь-якої з пʼяти книжок коштує $8.
Якщо ж купити дві різні книжки, ми отримуємо 5% знижки на ці дві книжки.
Якщо купити 3 різні книжки, ми отримуємо 10% знижки.
Якщо купити 4 різні книжки, ми отримуємо 20% знижки.
Якщо купити всі 5, ми отримуємо 25% знижки.
Звернімо увагу: якщо купити чотири книжки, з яких 3 мають різні назви, ми отримуємо 10% знижки на ті 3, що входять до набору, але четверта книжка все одно коштує $8.
Наше завдання - написати фрагмент коду, який обчислює ціну будь-якого можливого кошика покупок (що містить лише книжки однієї серії) і дає якомога більшу знижку.
Наприклад, скільки коштує такий кошик книжок?
Один зі способів згрупувати ці 8 книжок такий:
Загалом це дало б:
Що дає:
Разом $51.60
Однак ці 8 книжок можна згрупувати й інакше:
Загалом це дало б:
Що дає:
Разом $51.20
І $51.20 - це ціна з найбільшою знижкою.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Delphi Pascal, а також 76 вправ та справжнє наставництво від людей, і все це безкоштовно.