Mustergenerator
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 47Rechner zum Aufteilen der Rechnung
WillkommensnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array-Slicing mit BereichenArray-Slicing mit IndizesArray-OperatorenInclude?-Methode2Variablen und Datentypen
Zahlen und VariablenString-DatentypBoolean-DatentypSymbol-DatentypDatentypen überprüfenNamenskonventionenWiederholung – Variablen erstellen5Entscheidungsfindung
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerVerschachteltes If - ElseUnless-Anweisung8Schleifen
For-Schleife mit BereichenWhile-SchleifeBreakNextRückblick – FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische KurzschreibweisenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsDie chomp-MethodeTypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder FalschÜbe selbstständig: Online-Ruby-Compiler