Un número cíclico es un número de "n" dígitos que cuando se multiplica por 1, 2, 3, ... n, da como resultado los mismos dígitos pero en un orden diferente.
Por ejemplo, el número 142,857 es un número cíclico ya que 142,857 x 2 = 285,714, 142,857 x 3 = 428,571, 142,857 x 4 = 571,428, y así sucesivamente. Dada una entrada entera, determine si es un número cíclico al generar un valor verdadero si es así, y un valor falso si no lo es.
Además, para ser claros, la entrada puede contener ceros iniciales: por ejemplo, 0344827586206896551724137931
Esto se debe a que, si los ceros iniciales no están permitidos en los números, entonces 142857 es el único número cíclico en decimal.
Como se trata de código de golf, ¡la respuesta más corta en bytes gana!
code-golf
number
arithmetic
FantaC
fuente
fuente
Respuestas:
05AB1E ,
96 bytes¡Gracias a Emigna por guardar 3 bytes!
Explicación:
Utiliza la codificación 05AB1E . Pruébalo en línea!
fuente
¦‚˜
?0588235294117647
.0212765957446808510638297872340425531914893617
como se menciona en los comentarios de otra respuesta. Mirando los números ordenados, supondría que devuelve falso, pero al eliminar ceros se vuelve verdadero.En realidad , 18 bytes
Pruébalo en línea! (espera entrada citada)
Explicación:
fuente
Python, 86 bytes
Pruébalo en línea!
Ingrese los números como cadenas.
fuente
PHP, 64 bytes
Versión en línea
fuente
Haskell,
36333245 bytesEjemplo de uso:
No creo que este algoritmo necesite ninguna explicación.
TOL
Gracias por las sugerencias: Nombre para mostrar genérico, Laikoni.
Gracias por la corrección: Antony Hatchkins.
EDITAR No, falla en "33".
fuente
<1
lugar de==0
? También aquí hay un enlace TIO: ¡ Pruébelo en línea!dc,
2425 bytesImprime "0" si el número no es cíclico; de lo contrario, "1". Requiere que el número se ingrese como una cadena.
Ejemplo de uso:
TOL
Explicación: Mismo algoritmo que mi envío de Haskell.
EDITAR No, falla en "33".
fuente
Mathematica, 81 bytes
Pruébalo en línea!
cadena de entrada
Entrada
Salida
fuente
FromDigits
es más corto queToExpression