Esta es la publicación de Robber. La publicación de la policía está aquí .
Su tarea es tomar una entrada entera N y generar el enésimo dígito en la secuencia OEIS A002942 .
La secuencia consiste en los números cuadrados escritos al revés:
1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ...
Tenga en cuenta que los ceros iniciales se recortan ( 100 se convierte en 1 , no en 001 ). Concatenando esto en una cadena (o un número largo da):
1496152639446181121441
Deberá generar el enésimo dígito en esta cadena / número. Puede optar por tomar N como indexado 0 o indexado 1 (indique cuál elige).
Casos de prueba (1 indexado):
N = 5, ==> 1
N = 17, ==> 1 <- Important test case! It's not zero.
N = 20, ==> 4
N = 78, ==> 0
N = 100, ==> 4
N = 274164, ==> 1
Su código debería funcionar para números hasta N = 2 ^ 15 (a menos que su idioma no pueda manejar enteros de 32 bits por defecto, en cuyo caso N puede ser menor).
Ladrones:
Deberías intentar descifrar las publicaciones de los policías.
Su código debe estar en el mismo idioma que la publicación de la policía, y tener una distancia de Levenshtein exactamente igual a la distancia dada por la policía. Su código no puede ser más largo que la solución original (pero puede ser del mismo tamaño).
¡Puede consultar la distancia de Levenshtein aquí!
El ganador será el ladrón que logró más publicaciones.
fuente
Respuestas:
Haskell , Laikoni
Pruébalo en línea!
El
(*1)
era necesario para la verificación de tipo.fuente
JavaScript, Arnauld
fuente
Array(m+1)
arreglé.cQuents 0 , Stephen
Pruébalo en línea! No tengo idea de cómo funciona este código, pero aún así funcionó después de eliminar el
*
.fuente
Wolfram Language (Mathematica) , Jenny_mathy
Pruébalo en línea!
Versión alternativa también a distancia 43:
Pruébalo en línea!
fuente
6502 Código máquina (C64), Felix Palmen
Probé esto con todas las preguntas de casos de prueba y bastantes extras (como 2 ^ 15 ... que tomó un tiempo), y parece funcionar igual que el original con LD = 1.
Demostración en línea , uso: sys49152, n donde n es la entrada indexada en 0.
fuente
Lua , Katenkyo
Pruébalo en línea!
No conozco a Lua, pero este era simple, solo reemplazó un espacio con una nueva línea.
fuente
(0+)(%d+)$
con(0+)(%d+)
, por lo que estaba a punto de expresiones regulares ^^'Python 3 , HyperNeutrino
Pruébalo en línea!
fuente
''
lugar de""
lambda i:"".join(str( (-~k)**2)[::-1]for k in range(i+1))[i]
.Python 2 , dylnan
Pruébalo en línea!
Nota: este envío de policía estaba dañado y no funcionaba para entradas inferiores a 5. Mientras lo hacía, creé esta solución que tiene la distancia correcta de Levenshtein Y corrige el error.
fuente
Perl 5, (-p) Xcali
Actualizado después del comentario, Levenshtein Distancia entre
y
es 55
Pruébalo en línea
fuente
-a
versus-p
. Las dos soluciones que se me ocurrieron usaron las mismas banderas. Creo que la bandera se clavaría en el frente sin espacio, pero estoy dispuesto a dejarme influenciar por eso.Java 8, Kevin Cruijssen
Pruébalo en línea!
Cambiar registro
.replaceAll()
pornew Long()
.fuente
n->{String r="";for(int i=1;r.length()<=n+1;r+=new Long(new StringBuffer(i*i+++"").reverse()+""));return r.charAt(n);}
( 118 bytes, 92 LD en comparación con mi otra respuesta).Octave , Stewie Griffin
Pruébalo en línea!
En realidad estaba intentando mi propia respuesta de Octave y descubrí la existente. El mío ya era significativamente más corto, por lo que agregar un comentario al final fue suficiente para llegar a la distancia requerida de 63.
fuente
input()
y todo lo que conlleva ...PHP, Jo.
Pruébalo en línea!
(Estaba planeando cambiar la desigualdad para obtener un LD aún mayor ...)
fuente
6502 Código máquina (C64), Felix Palmen
También puede ser un crack "simple", pero parece funcionar como el original.
Tener el LD = 1 es muy tentador para intentar descifrarlo (lo siento, Felix). :)
Demostración en línea , uso: sys49152, n donde n es la entrada indexada en 0.
fuente
E9
(un comando de resta) por elEB
cual no está definido en el código de máquina 6502, pero sucede lo mismo en los chips NMOS 6502 y 6510. Este programa, por ejemplo, se bloquea en el C64 DTV1. Pero es poco probable que encuentre un C64 real que no lo ejecute correctamente, por lo que podría considerarse un crack válido. Podría pedir opiniones sobre meta ...