متجر الكتب

متجر الكتب

متوسط

التعليمات

سعيًا إلى تشجيع بيع المزيد من الكتب المختلفة من سلسلة شهيرة مكوّنة من 5 كتب، قرر متجر كتب أن يقدّم خصومات على شراء عدة كتب في المرة الواحدة.

تكلف النسخة الواحدة من أي من الكتب الخمسة $8.

أما إذا اشتريت كتابين مختلفين، فستحصل على خصم 5% على هذين الكتابين.

وإذا اشتريت 3 كتب مختلفة، فستحصل على خصم 10%.

وإذا اشتريت 4 كتب مختلفة، فستحصل على خصم 20%.

وإذا اشتريت الكتب الخمسة كلها، فستحصل على خصم 25%.

ملاحظة: إذا اشتريت أربعة كتب، منها 3 عناوين مختلفة، فستحصل على خصم 10% على الكتب الثلاثة التي تشكّل مجموعة، لكن الكتاب الرابع يبقى بسعر $8.

مهمتك هي كتابة كود يحسب سعر أي سلة تسوّق يمكن تصورها (تحتوي فقط على كتب من السلسلة نفسها)، مع منح أكبر خصم ممكن.

على سبيل المثال، كم تبلغ تكلفة سلة الكتب هذه؟

  • نسختان من الكتاب الأول
  • نسختان من الكتاب الثاني
  • نسختان من الكتاب الثالث
  • نسخة واحدة من الكتاب الرابع
  • نسخة واحدة من الكتاب الخامس

أحد أساليب تجميع هذه الكتب الثمانية هو:

  • مجموعة من 5 --> خصم 25% (الأول، الثاني، الثالث، الرابع، الخامس)
  • +مجموعة من 3 --> خصم 10% (الأول، الثاني، الثالث)

وهذا يعطي مجموعًا قدره:

  • 5 كتب بخصم 25%
  • +3 كتب بخصم 10%

ويكون الناتج:

  • 5 x (8 - 2.00) == 5 x 6.00 == $30.00
  • +3 x (8 - 0.80) == 3 x 7.20 == $21.60

بإجمالي $51.60

لكن هناك أسلوبًا مختلفًا لتجميع هذه الكتب الثمانية:

  • مجموعة واحدة من 4 كتب --> خصم 20% (الأول، الثاني، الثالث، الرابع)
  • +مجموعة واحدة من 4 كتب --> خصم 20% (الأول، الثاني، الثالث، الخامس)

وهذا يعطي مجموعًا قدره:

  • 4 كتب بخصم 20%
  • +4 كتب بخصم 20%

ويكون الناتج:

  • 4 x (8 - 1.60) == 4 x 6.40 == $25.60
  • +4 x (8 - 1.60) == 4 x 6.40 == $25.60

بإجمالي $51.20

وسعر $51.20 هو السعر الذي يحقق أكبر خصم.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Delphi Pascal Exercism

مستعد لبدء متجر الكتب؟

سجّل في Exercism لتتعلّم وتتقن Delphi Pascal عبر 76 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.