المسارات
/
Python
Python
/
التمارين
/
مجموع المضاعفات
مجموع المضاعفات

مجموع المضاعفات

سهل

مقدمة

تعمل في شركة تصنع لعبة بقاء خيالية على الإنترنت.

عندما يُنهي اللاعب مستوى ما، يُمنح نقاط طاقة. ويتوقف مقدار الطاقة الممنوحة على العناصر السحرية التي عثر عليها اللاعب أثناء استكشافه لذلك المستوى.

التعليمات

مهمتك هي كتابة الكود الذي يحسب نقاط الطاقة التي تُمنح للاعبين عند إكمالهم مستوى ما.

تعتمد النقاط الممنوحة على شيئين:

  • المستوى (عدد) الذي أكمله اللاعب.
  • القيمة الأساسية لكل عنصر سحري جمعه اللاعب أثناء ذلك المستوى.

تُمنح نقاط الطاقة وفق القواعد التالية:

  1. لكل عنصر سحري، خذ القيمة الأساسية وأوجد جميع مضاعفاتها الأقل من المستوى.
  2. اجمع مجموعات الأعداد.
  3. احذف أي تكرارات.
  4. احسب مجموع الأعداد المتبقية.

لنلقِ نظرة على مثال:

أكمل اللاعب المستوى 20 وعثر على عنصرين سحريين بقيمتين أساسيتين هما 3 و5.

لحساب نقاط الطاقة التي حصل عليها اللاعب، علينا إيجاد جميع المضاعفات الفريدة لهاتين القيمتين الأساسيتين التي تقل عن المستوى 20.

  • مضاعفات 3 الأقل من 20: {3, 6, 9, 12, 15, 18}
  • مضاعفات 5 الأقل من 20: {5, 10, 15}
  • اجمع المجموعتين واحذف التكرارات: {3, 5, 6, 9, 10, 12, 15, 18}
  • اجمع المضاعفات الفريدة: 3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
  • إذن، يحصل اللاعب على 78 نقطة طاقة لإكماله المستوى 20 وعثوره على العنصرين السحريين بقيمتين أساسيتين هما 3 و5.

يمكنك افتراض ما يلي بشأن مدخلات الاختبار لدالة sum_of_multiples:

  • جميع أعداد الإدخال هي أعداد صحيحة int غير سالبة (أي أعداد طبيعية تشمل الصفر).
  • يجب إعطاء list من العوامل، وعناصرها فريدة ومرتبة ترتيبًا تصاعديًا.
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Python Exercism

مستعد لبدء مجموع المضاعفات؟

سجّل في Exercism لتتعلّم وتتقن Python عبر 17 مفهومًا146 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.