AKTUALIZACJA : Zgłoszenie Pyth isaacga jest zwycięzcą!
Wielu z was musiało usłyszeć, że w mieście jest fajniejsza wersja JavaScript (czytaj ES6), która ma metodę, String.prototype.repeat
dzięki której można to zrobić
"Hello, World!".repeat(3)
i dostać
"Hello, World!Hello, World!Hello, World!"
jako wynik.
Twoim zadaniem jest napisanie funkcji lub programu w wybranym języku, który wykrywa, czy łańcuch nie został poddany takiej transformacji.
tzn. Łańcuch wejściowy może być reprezentowany jako dokładne n
powtórzenie razy mniejszego łańcucha. Wyjście (jako instrukcja return funkcji lub STDOUT) powinno być zgodne z prawdą, jeśli łańcuch może być, lub fałszem, jeśli łańcucha nie można przedstawić jako powtórzenia mniejszego łańcucha.
Niektóre przykładowe dane wejściowe:
"asdfasdfasdf" // true
"asdfasdfa" // false
"ĴĴĴĴĴĴĴĴĴ" // true
"ĴĴĴ123ĴĴĴ123" // true
"abcdefgh" // false
Zauważ, że ostatnie wejście jest fałszywe, dlatego n
powinno być większe niż1
Kompletne zasady
- Napisz funkcję / program w dowolnym języku, aby wprowadzić (za pomocą argumentu funkcji / argumentu wiersza poleceń / STDIN) ciąg znaków
- Zwróć / Drukuj prawdziwą wartość, jeśli dany ciąg powstaje przez dokładne powtórzenie mniejszego ciągu, co najmniej dwa razy.
- Maksymalny rozmiar ciągu wejściowego to idealnie Nieskończoność
- Ciąg może mieć wszystkie możliwe znaki ASCII
- To jest golf golfowy, więc wygrywa najmniejszy kod w postaci.