ОБНОВЛЕНИЕ : подчинение Исаака Pyth является победителем!
Многие из вас, должно быть, слышали, что в городе есть более прохладная версия JavaScript (см. ES6), в которой есть метод String.prototype.repeat
, позволяющий
"Hello, World!".repeat(3)
и получить
"Hello, World!Hello, World!Hello, World!"
в качестве выхода.
Ваша задача - написать функцию или программу на языке по вашему выбору, который определяет, не была ли строка подвергнута такому преобразованию.
т.е. входная строка может быть представлена как точное n
повторение времен меньшей строки. Вывод (как оператор возврата функции или STDOUT) должен быть правдивым, если строка может быть, или ложным, если строка не может быть представлена как повторение строки меньшего размера.
Некоторые примеры ввода:
"asdfasdfasdf" // true
"asdfasdfa" // false
"ĴĴĴĴĴĴĴĴĴ" // true
"ĴĴĴ123ĴĴĴ123" // true
"abcdefgh" // false
Обратите внимание, что последний ввод ложен, поэтому n
должен быть больше1
Полные правила
- Напишите функцию / программу на любом языке для ввода (через аргумент функции / аргументы командной строки / STDIN) строки
- Возвращает / печатает истинное значение, если данная строка сформирована путем точного повторения меньшей строки, повторяющейся, по крайней мере, дважды.
- Максимальный размер входной строки в идеале бесконечность
- Строка может содержать все возможные символы ASCII
- Это код-гольф, поэтому выигрывает самый маленький код в символах.