کتاب‌فروشی

کتاب‌فروشی

متوسط

دستورالعمل‌ها

یک کتاب‌فروشی برای تشویق فروش بیشتر کتاب‌های مختلف از یک مجموعه‌ی محبوب ۵ جلدی، تصمیم گرفته است روی خرید چند کتاب با هم تخفیف ارائه دهد.

هر نسخه از هر یک از این پنج کتاب ۸ دلار هزینه دارد.

اما اگر دو کتاب متفاوت بخرید، روی آن دو کتاب ۵٪ تخفیف می‌گیرید.

اگر ۳ کتاب متفاوت بخرید، ۱۰٪ تخفیف می‌گیرید.

اگر ۴ کتاب متفاوت بخرید، ۲۰٪ تخفیف می‌گیرید.

اگر همه‌ی ۵ کتاب را بخرید، ۲۵٪ تخفیف می‌گیرید.

توجه: اگر چهار کتاب بخرید که ۳ تای آن‌ها عنوان متفاوت باشند، روی آن ۳ کتابی که یک مجموعه را تشکیل می‌دهند ۱۰٪ تخفیف می‌گیرید، اما کتاب چهارم همچنان ۸ دلار هزینه دارد.

مأموریت شما نوشتن کدی است که قیمت هر سبد خرید قابل‌تصوری را محاسبه کند (سبدی که فقط شامل کتاب‌هایی از یک مجموعه باشد) و بیشترین تخفیف ممکن را اعمال کند.

برای مثال، این سبد کتاب چقدر هزینه دارد؟

  • ۲ نسخه از کتاب اول
  • ۲ نسخه از کتاب دوم
  • ۲ نسخه از کتاب سوم
  • ۱ نسخه از کتاب چهارم
  • ۱ نسخه از کتاب پنجم

یک روش برای گروه‌بندی این ۸ کتاب این است:

  • ۱ گروه ۵ تایی --> ۲۵٪ تخفیف (کتاب‌های اول، دوم، سوم، چهارم و پنجم)
  • +۱ گروه ۳ تایی --> ۱۰٪ تخفیف (کتاب‌های اول، دوم و سوم)

که در مجموع به این نتیجه می‌رسد:

  • ۵ کتاب با ۲۵٪ تخفیف
  • +۳ کتاب با ۱۰٪ تخفیف

یعنی:

  • ۵ × (۸ − ۲٫۰۰) == ۵ × ۶٫۰۰ == ۳۰٫۰۰ دلار
  • +۳ × (۸ − ۰٫۸۰) == ۳ × ۷٫۲۰ == ۲۱٫۶۰ دلار

که جمع آن ۵۱٫۶۰ دلار می‌شود.

اما روش دیگری برای گروه‌بندی این ۸ کتاب وجود دارد:

  • ۱ گروه ۴ تایی --> ۲۰٪ تخفیف (کتاب‌های اول، دوم، سوم و چهارم)
  • +۱ گروه ۴ تایی --> ۲۰٪ تخفیف (کتاب‌های اول، دوم، سوم و پنجم)

که در مجموع به این نتیجه می‌رسد:

  • ۴ کتاب با ۲۰٪ تخفیف
  • +۴ کتاب با ۲۰٪ تخفیف

یعنی:

  • ۴ × (۸ − ۱٫۶۰) == ۴ × ۶٫۴۰ == ۲۵٫۶۰ دلار
  • +۴ × (۸ − ۱٫۶۰) == ۴ × ۶٫۴۰ == ۲۵٫۶۰ دلار

که جمع آن ۵۱٫۲۰ دلار می‌شود.

و ۵۱٫۲۰ دلار قیمتی است که بیشترین تخفیف را دارد.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Delphi Pascal Exercism

آماده‌اید کتاب‌فروشی را شروع کنید؟

در Exercism ثبت‌نام کنید تا Delphi Pascal را همراه با 76 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.