UPDATE : isaacg's Pyth Submission ist der Gewinner!
Viele von Ihnen müssen gehört haben, dass es eine coolere Version von JavaScript in der Stadt gibt (lesen Sie ES6), die eine Methode String.prototype.repeat
hat, mit der Sie dies tun können
"Hello, World!".repeat(3)
und bekomme
"Hello, World!Hello, World!Hello, World!"
als Ausgabe.
Ihre Aufgabe ist es, eine Funktion oder ein Programm in einer Sprache Ihrer Wahl zu schreiben, die erkennen, ob eine Zeichenkette einer solchen Transformation unterzogen wurde.
Das heißt, die Eingabezeichenfolge kann als genaue n
Wiederholung einer kleineren Zeichenfolge dargestellt werden. Die Ausgabe (als return-Anweisung der Funktion oder STDOUT) sollte wahr sein, wenn die Zeichenfolge fehlerhaft sein kann, oder wenn die Zeichenfolge nicht als Wiederholung einer kleineren Zeichenfolge dargestellt werden kann.
Einige Beispieleingaben:
"asdfasdfasdf" // true
"asdfasdfa" // false
"ĴĴĴĴĴĴĴĴĴ" // true
"ĴĴĴ123ĴĴĴ123" // true
"abcdefgh" // false
Beachten Sie, dass die letzte Eingabe falsch ist und n
daher größer als sein sollte1
Regeln vervollständigen
- Schreiben Sie eine Funktion / ein Programm in einer beliebigen Sprache, um (über Funktionsargumente / Befehlszeilenargumente / STDIN) eine Zeichenfolge einzugeben
- Gibt den Wahrheitswert zurück / druckt ihn aus, wenn die angegebene Zeichenfolge durch exakte Wiederholung einer kleineren Zeichenfolge gebildet wird, die mindestens zweimal wiederholt wird.
- Die maximale Größe der Eingabezeichenfolge ist idealerweise Unendlich
- String kann alle möglichen ASCII-Zeichen enthalten
- Dies ist ein Code-Golf, so dass der kleinste Code in Zeichen gewinnt.