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.repeatdzię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 npowtó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 npowinno 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.