مكتشف الأنماط
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 87 من 88.
التحدي
سهلاقرأ سلسلة نصية من المدخلات وابحث عن أصغر نمط متكرر يشكل السلسلة بأكملها.
يجب أن يستوفي النمط الصالح ما يلي:
- أن يكون طوله قابلاً للقسمة بالتساوي على الطول الإجمالي للسلسلة
- عند تكراره لعدد المرات المناسب، يعيد إنشاء السلسلة الأصلية تماماً
إذا كانت السلسلة مكونة من نمط متكرر، فاطبع ذلك النمط الأصغر. إذا لم يوجد نمط متكرر، فاطبع السلسلة الأصلية.
للتحقق مما إذا كان النمط يعمل، يمكنك استخدام ضرب السلاسل النصية: pattern * count ينشئ سلسلة جديدة عن طريق تكرار النمط.
على سبيل المثال، إذا كانت المدخلات abcabcabc، فيجب أن تكون المخرجات:
abcإذا كانت المدخلات xyxyxyxy، فيجب أن تكون المخرجات:
xyإذا كانت المدخلات aaaa، فيجب أن تكون المخرجات:
aإذا كانت المدخلات hello، فيجب أن تكون المخرجات:
helloإذا كانت المدخلات abcdef، فيجب أن تكون المخرجات:
abcdefجرّب بنفسك
# قراءة سلسلة الإدخال
s = gets.chomp
# TODO: اكتب الكود الخاص بك أدناه
# ابحث عن أصغر نمط متكرر يشكل السلسلة بأكملها
# تلميح: تحقق من أطوال الأنماط التي تقبل القسمة بالتساوي على طول السلسلة
# استخدم ضرب السلسلة (pattern * count) للتحقق مما إذا كان النمط يعمل
result = s # استبدل هذا بالحل الخاص بك
# طباعة النتيجة
puts resultجميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ