المسارات
/
Ruby
Ruby
/
التمارين
/
أكبر جداء لمتتالية أرقام
أكبر جداء لمتتالية أرقام

أكبر جداء لمتتالية أرقام

سهل

مقدمة

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

التعليمات

مهمتك هي البحث عن أنماط في التسلسل الطويل من الأرقام في الإشارة المشفَّرة.

التقنية التي ستستخدمها هنا تُسمّى أكبر حاصل ضرب لمتتالية.

لنعرّف بعض المصطلحات أولًا.

  • المُدخل: تسلسل الأرقام الذي تحتاج إلى تحليله
  • المتتالية: تسلسل من الأرقام المتجاورة (أي التي تأتي بجانب بعضها) يوجد داخل المُدخل
  • المدى: عدد الأرقام في كل متتالية
  • حاصل الضرب: ما تحصل عليه عند ضرب الأعداد في بعضها

لنتبع مثالًا، مع المُدخل "63915".

  • لتكوين متتالية، خُذ أرقامًا متجاورة من المُدخل الأصلي.
  • إذا كنت تعمل بمدى يساوي 3، فستكون هناك ثلاث متتاليات ممكنة:
    • "639"
    • "391"
    • "915"
  • ثم نحتاج إلى حساب حاصل ضرب كل متتالية:
    • حاصل ضرب المتتالية "639" هو 162 (6 × 3 × 9 = 162)
    • حاصل ضرب المتتالية "391" هو 27 (3 × 9 × 1 = 27)
    • حاصل ضرب المتتالية "915" هو 45 (9 × 1 × 5 = 45)
  • العدد 162 أكبر من 27 و45، إذن أكبر حاصل ضرب لمتتالية في "63915" يأتي من المتتالية "639". إذن الجواب هو 162.
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Ruby Exercism

مستعد لبدء أكبر جداء لمتتالية أرقام؟

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