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

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

سهل

مقدمة

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

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

التعليمات

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

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

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

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

  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.

ملاحظة

تكمن حيلة هذا التمرين في فهم كيفية المرور على نطاق من الأعداد، وكذلك فحص Collection بحثًا عن أي مضاعفات تقبل القسمة على عدد ما. جرّب استخدام Spotter للبحث عن الأصناف المحتملة وتصفّح تصنيفات الطرق في تلك الأصناف.

وتذكّر أيضًا أن بيئة Pharo تربطها إحالات مرجعية متبادلة على نطاق واسع. يمكنك النقر بزر الفأرة الأيمن على أي صنف أو طريقة وتصفّح "references" الخاصة بالصنف (لترى كيف يمكن إنشاؤه)، وكذلك "senders" الخاصة بالطريقة (لترى كيف يمكن استخدامها).

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

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

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