Para cualquier número entero , existe una potencia de 2, cada uno de cuyos últimos dígitos son 1 o 2.
Dado , encuentre la más pequeña de modo que consista solo en 1 o 2.
Para , , ya que
Para , , ya que
Nota: para , es (nuevamente)
Entrada:
Salida:
P.ej.
Entrada: 2
Salida: 9Entrada: 3
Ouput: 89
El programa debe ejecutarse en un período de tiempo razonable.
EDITAR: La secuencia oeis para este desafío es A147884 .
code-golf
number
number-theory
st0le
fuente
fuente
Respuestas:
Python, 166 caracteres
fuente
Wolfram Language (Mathematica) ,
78765755 bytesPruébalo en línea!
IntegerDigits[a,10,r]
genera una lista de losr
últimos dígitos decimales dea
. Resta 3/2 y verifica que todos sean -1/2 o +1/2.Verificación de tiempo: 20 segundos en TIO para
r = 1 .. 10
.Wolfram Language (Mathematica) ,
102959189 bytesPruébalo en línea!
Esta solución es mucho más larga pero mucho más rápida. Al tomar el camino sugerido en OEIS A147884 para ir a través de OEIS A053312 , además de usar
FindInstance
magia, TIO logra calcularr = 1 .. 12
en menos de un minuto.fuente
Ruby - 118 caracteres
fuente
Haskell, 115 caracteres
fuente
Python 3 , 63 bytes
Pruébalo en línea!
fuente
05AB1E ,
1815 bytesPruébelo en línea o verifique los primeros 8 casos de prueba (más tiempos de espera).
Explicación:
Utiliza el hecho de que2X> r para todos los resultados posibles, para garantizar que tengamos suficientes dígitos para obtener los últimos r dígitos de 2X .
fuente
CSharp - 111 caracteres
fuente
Perl 5
-Mbigint -p
, 33 bytesPruébalo en línea!
fuente
Julia
133122(51) bytesInspirado por la respuesta de USTED:
Pruébalo en línea!
Lo siguiente es mucho más corto, pero se bloquea para r> 8, como algunas de las otras respuestas:
Pruébalo en línea!
fuente