یک کتابفروشی برای تشویق فروش بیشتر کتابهای مختلف از یک مجموعهی محبوب ۵ جلدی، تصمیم گرفته است روی خرید چند کتاب با هم تخفیف ارائه دهد.
هر نسخه از هر یک از این پنج کتاب ۸ دلار هزینه دارد.
اما اگر دو کتاب متفاوت بخرید، روی آن دو کتاب ۵٪ تخفیف میگیرید.
اگر ۳ کتاب متفاوت بخرید، ۱۰٪ تخفیف میگیرید.
اگر ۴ کتاب متفاوت بخرید، ۲۰٪ تخفیف میگیرید.
اگر همهی ۵ کتاب را بخرید، ۲۵٪ تخفیف میگیرید.
توجه: اگر چهار کتاب بخرید که ۳ تای آنها عنوان متفاوت باشند، روی آن ۳ کتابی که یک مجموعه را تشکیل میدهند ۱۰٪ تخفیف میگیرید، اما کتاب چهارم همچنان ۸ دلار هزینه دارد.
مأموریت شما نوشتن کدی است که قیمت هر سبد خرید قابلتصوری را محاسبه کند (سبدی که فقط شامل کتابهایی از یک مجموعه باشد) و بیشترین تخفیف ممکن را اعمال کند.
برای مثال، این سبد کتاب چقدر هزینه دارد؟
یک روش برای گروهبندی این ۸ کتاب این است:
که در مجموع به این نتیجه میرسد:
یعنی:
که جمع آن ۵۱٫۶۰ دلار میشود.
اما روش دیگری برای گروهبندی این ۸ کتاب وجود دارد:
که در مجموع به این نتیجه میرسد:
یعنی:
که جمع آن ۵۱٫۲۰ دلار میشود.
و ۵۱٫۲۰ دلار قیمتی است که بیشترین تخفیف را دارد.
در Exercism ثبتنام کنید تا Delphi Pascal را همراه با 76 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.