Su trabajo es tomar este número como entrada (aunque también debería funcionar con cualquier otro número):
18349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957
y encuentre el período más pequeño, que es en este caso:
1834957034571097518349570345710975183495703457109751834957034571097518349570345710976
¡Buena suerte y diviertete!
Aclaraciones :
- El número de entrada tiene como mínimo un período y un período parcial
- El período siempre comienza al principio del número de entrada.
- Período significa en este caso una secuencia de números que se repite.
>
mirando hacia el lado equivocado.Respuestas:
CJam,
2016 bytesLecturas de STDIN. Pruébalo en línea.
El código anterior requerirá memoria O (n 2 ) , donde n es la longitud de la entrada. Se va a trabajar con 2 de 16 dígitos, siempre y cuando usted tiene suficiente memoria.
Esto se puede arreglar el costo de cinco bytes adicionales:
Ejecución de ejemplo
Cómo funciona
Para la entrada Q, la idea es repetir el primer carácter len (Q) veces y verificar si el índice de Q en el resultado es 0. Si no es así, repita los dos primeros caracteres len (Q) veces, etc.
fuente
Regex (sabor .NET),
2322 bytesEsto coincidirá con el período requerido como una subcadena.
Pruébalo aquí.
¿Como funciona?
fuente
aabaabaab
, probablemente coincidiráa
porque se repite. Todavía no he encontrado una manera de resolverlo en PCRE. Dennis intentó en una respuesta ahora eliminada, pero esa tampoco funcionó completamente. Por cierto, no necesitasg
.Python 60
s
es la cadena de dígitosp.ej:
fuente
Pyth , 14 caracteres
Explicación:
Esencialmente, genera todas las secuencias iniciales de la entrada, se repite cada una
len(z)
y ve siz
la entrada se encuentra dentro de la cadena resultante.Esta no es una respuesta válida, pero recientemente se agregó una característica a Pyth, después de que se hizo la pregunta, que permite una solución de 12 caracteres:
Esto utiliza el filtro en la función de entero.
fuente
Japt , 8 bytes
Intentalo
-2 bytes gracias a Shaggy!
Transpiled JS explicado:
fuente
å+ æ@¶îX
Java 8, 125 bytes
Toma la entrada como una cadena ya que no hay una forma razonable de representar un número de más de 1000 dígitos en Java que no sea una cadena (No BigInteger, por favor).
Pruébalo en línea!
fuente
String
con var. -3 bytes