Циклическое число - это число «n» цифр, которое при умножении на 1, 2, 3, ... n приводит к тем же цифрам, но в другом порядке.
Например, число 142 857 является циклическим числом, поскольку 142 857 x 2 = 285 714, 142 857 x 3 = 428 571, 142 857 x 4 = 571 428 и т. Д. Для заданного целочисленного ввода определите, является ли оно циклическим числом, путем вывода истинного значения, если оно есть, и ложного значения, если нет.
Кроме того, для ясности, ввод может содержать начальные 0: например, 0344827586206896551724137931
Это связано с тем, что если начальные нули не разрешены для чисел, то 142857 является единственным циклическим числом в десятичной дроби.
Поскольку это код-гольф, самый короткий ответ в байтах выигрывает!
code-golf
number
arithmetic
FantaC
источник
источник
Ответы:
05AB1E ,
96 байтовСпасибо Emigna за сохранение 3 байта!
Объяснение:
Использует кодировку 05AB1E . Попробуйте онлайн!
источник
¦‚˜
?0588235294117647
.0212765957446808510638297872340425531914893617
указанное в комментариях к другому ответу. Глядя на отсортированные числа, я бы предположил, что он возвращает false, но при удалении нулей он становится истинным.На самом деле , 18 байт
Попробуйте онлайн! (ожидает цитируемого ввода)
Объяснение:
источник
Python, 86 байт
Попробуйте онлайн!
Введите числа в виде строк.
источник
PHP, 64 байта
Онлайн версия
источник
Haskell,
36333245 байтПример использования:
Я не думаю, что этот алгоритм нуждается в объяснении.
TOL
Спасибо за предложения: общее отображаемое имя, Laikoni.
Спасибо за исправление: Энтони Хэтчкинс.
РЕДАКТИРОВАТЬ Нет, не на «33».
источник
<1
вместо==0
? Также здесь есть ссылка TIO: попробуйте онлайн!постоянный ток,
2425 байтПечатает «0», если число не является циклическим, в противном случае «1». Требуется ввести номер в виде строки.
Пример использования:
TOL
Объяснение: Тот же алгоритм, что и в моем представлении на Haskell.
РЕДАКТИРОВАТЬ Нет, не на «33».
источник
Mathematica, 81 байт
Попробуйте онлайн!
строка ввода
вход
Выход
источник
FromDigits
корочеToExpression