Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مكتشف الأنماط

جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 87 من 88.

challenge icon

التحدي

سهل

اقرأ سلسلة نصية من المدخلات وابحث عن أصغر نمط متكرر يشكل السلسلة بأكملها.

يجب أن يستوفي النمط الصالح ما يلي:

  • أن يكون طوله قابلاً للقسمة بالتساوي على الطول الإجمالي للسلسلة
  • عند تكراره لعدد المرات المناسب، يعيد إنشاء السلسلة الأصلية تماماً

إذا كانت السلسلة مكونة من نمط متكرر، فاطبع ذلك النمط الأصغر. إذا لم يوجد نمط متكرر، فاطبع السلسلة الأصلية.

للتحقق مما إذا كان النمط يعمل، يمكنك استخدام ضرب السلاسل النصية: pattern * count ينشئ سلسلة جديدة عن طريق تكرار النمط.

على سبيل المثال، إذا كانت المدخلات abcabcabc، فيجب أن تكون المخرجات:

abc

إذا كانت المدخلات xyxyxyxy، فيجب أن تكون المخرجات:

xy

إذا كانت المدخلات aaaa، فيجب أن تكون المخرجات:

a

إذا كانت المدخلات hello، فيجب أن تكون المخرجات:

hello

إذا كانت المدخلات abcdef، فيجب أن تكون المخرجات:

abcdef

جرّب بنفسك

# قراءة سلسلة الإدخال
s = gets.chomp

# TODO: اكتب الكود الخاص بك أدناه
# ابحث عن أصغر نمط متكرر يشكل السلسلة بأكملها
# تلميح: تحقق من أطوال الأنماط التي تقبل القسمة بالتساوي على طول السلسلة
# استخدم ضرب السلسلة (pattern * count) للتحقق مما إذا كان النمط يعمل

result = s  # استبدل هذا بالحل الخاص بك

# طباعة النتيجة
puts result

جميع دروس الأساسيات