Muster-Finder
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 87 von 88.
Aufgabe
EinfachLies einen String aus der Eingabe und finde das kleinste sich wiederholende Muster, das den gesamten String bildet.
Ein gültiges Muster muss:
- Eine Länge haben, die die Gesamtlänge des Strings gleichmäßig teilt
- Wenn es entsprechend oft wiederholt wird, den ursprünglichen String exakt wiederherstellen
Wenn der String aus einem sich wiederholenden Muster besteht, gib dieses kleinste Muster aus. Wenn kein sich wiederholendes Muster existiert, gib den ursprünglichen String aus.
Um zu prüfen, ob ein Muster funktioniert, kannst du die String-Multiplikation verwenden: pattern * count erstellt einen neuen String, indem das Muster wiederholt wird.
Wenn die Eingabe zum Beispiel abcabcabc ist, sollte die Ausgabe wie folgt lauten:
abcWenn die Eingabe xyxyxyxy ist, sollte die Ausgabe wie folgt lauten:
xyWenn die Eingabe aaaa ist, sollte die Ausgabe wie folgt lauten:
aWenn die Eingabe hello ist, sollte die Ausgabe wie folgt lauten:
helloWenn die Eingabe abcdef ist, sollte die Ausgabe wie folgt lauten:
abcdefProbier es selbst
# Liest den Eingabestring ein
s = gets.chomp
# TODO: Schreibe deinen Code unten
# Finde das kleinste sich wiederholende Muster, das den gesamten String bildet
# Hinweis: Überprüfe Musterlängen, die die Stringlänge ohne Rest teilen
# Verwende String-Multiplikation (Muster * Anzahl), um zu prüfen, ob ein Muster funktioniert
result = s # Ersetze dies durch deine Lösung
# Gib das Ergebnis aus
puts resultAlle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch