Este es el hilo conductor de la policía. El hilo de los ladrones va aquí .
El último hilo de policías y ladrones ya fue hace 4 meses .
La tarea del policía
- La tarea del policía es escribir un programa / función que tome un entero positivo (o no negativo) y genere / devuelva otro entero.
- El policía debe indicarlo si el programa es intolerante hacia cero.
- El policía proporcionará al menos 2 entradas / salidas de muestra.
- Por ejemplo, si he decidido escribir la secuencia de Fibonacci , escribiría esto en mi respuesta:
a (0) devuelve 0 a (3) devuelve 2
- El número de ejemplos depende del criterio del policía.
- Sin embargo, la secuencia debe existir en la Enciclopedia en línea de secuencias enteras® , por lo que no hay un generador de números pseudoaleatorio para usted.
:(
- El policía puede ocultar tantos personajes como desee.
- Por ejemplo, si mi programa es:
function a(n)
if n>2 then
return n
else
return a(n-1) + a(n-2)
end
end
- Entonces escondería estos personajes como quiera:
function a(n)
if ### then
########
else
######################
end
end
La tarea del ladrón
- obviamente es encontrar el código fuente original.
- Sin embargo, cualquier código fuente propuesto que produzca el mismo conjunto de resultados también cuenta como válido, siempre que también se encuentre en OEIS.
Consejos para la policia
La función de búsqueda en el OEIS solo funciona para términos consecutivos, por lo que si desea ocultar su secuencia, simplemente deje un agujero en cualquier lugar.- Aparentemente no hay forma de ocultar la secuencia. Tenga esto en cuenta cuando elija la secuencia.
Su puntaje es el número de bytes en su código.
El ganador será la presentación con el puntaje más bajo que no se haya descifrado en 7 días.
Solo los envíos publicados en abril de 2016 son elegibles para la victoria. Las presentaciones que se publiquen después de esto son bienvenidas, pero no pueden ganar.
Para reclamar la victoria, debe revelar el código completo y la secuencia OEIS (después de 7 días).
Su publicación debe tener el siguiente formato (NN es el número de caracteres):
Lua, 98 bytes
Salida:
a(0) returns 0
a(3) returns 2
Código ( #
marca caracteres no revelados):
function a(n)
if ### then
########
else
######################
end
end
Si el código está descifrado, insértelo [Cracked](link to cracker)
en el encabezado. Si el envío es seguro, inserte "Seguro" en el encabezado y muestre el código completo en su respuesta. Solo las respuestas que hayan revelado el código completo serán elegibles para la victoria.
fuente
_
, fyia(1000)
? (que es parte de la secuencia, pero demasiado grande para poder realizar búsquedas en OEIS)Respuestas:
Vim, 36 pulsaciones de teclas - ¡Seguro!
(Nota:
<n>
es donde escribe su entrada)Aquí está el código no relacionado con la generación de números:
Lo que significa que estoy revelando 5 de 19 caracteres.
<n>
es la entrada Aquí hay algunos resultados de muestra:Responder
Este código imprime los números de Lucas ( A000032 ), que son como la secuencia de Fibonnaci, excepto que comienza en
2, 1
lugar de1, 1
. Aquí están los primeros 15 números:Aquí está el código revelado:
Explicación:
Explicación de la macro:
Ahora, solo necesitamos eliminar el segundo número, ya que el primer número es el número de lucas que queremos. Entonces hacemos
Además, si no me equivoco, ¡esta es la primera presentación segura! Eso es genial.
fuente
bD
al final, la salida es solo un número y algunos espacios en blanco adicionales.05AB1E , 5 bytes, seguro
El último para hoy: p. Salida:
Código:
Los caracteres ofuscados se indican con
_
. Pruébalo en línea! -enlazar. Utiliza la codificación CP-1252 .Solución:
Explicación:
Pruébalo en línea! o ¡ Prueba todos los casos de prueba! .
fuente
g°<¹-
pero no puedo encontrar ninguna forma de usarlom
en este tamaño! D:Elemento , 7 bytes, agrietado
Salida:
El
#
son personajes ocultos, y todos ellos son ASCII imprimible. Creo que este en realidad es bastante difícil (por tener solo 5 caracteres faltantes).Para mayor comodidad, aquí están las páginas wiki de Try It Online y Esolang .
Mi programa original fue:
El truco es que
fuente
}
lugar de]
?}
es correcto, y mi programa (que yo sepa) funciona en todas las versiones de Element.Jolf , 5 bytes, agrietado
Salida:
Todo es crucial, y he mostrado 1 de 5.
Código original:
Pruébalo en línea!
fuente
JavaScript (ES7), 10 bytes, Agrietado
Salida
Código
Pruébalo en Firefox todas las noches. El código es una función anónima. Esto probablemente será fácil ya que solo hay tres caracteres ocultos, ¡pero al menos es corto! :PAGS
Mi código original fue:
pero después de forzar mi propio código para una solución, pronto me di cuenta
También podría ser utilizado. Esto funciona porque
fuente
**
es equivalente aMath.pow
, he hecho algunas de mis propias pruebas e incluso ejecuté una fuerza bruta. ¡Esto es bastante difícil de descifrar!05AB1E, 4 bytes ( agrietado )
Salida de muestra:
Y para el código:
Revelé el último. Sin embargo, debería ser bastante fácil, me costó bastante encontrar una secuencia :(
Todos los personajes ocultos son imprimibles.
fuente
MATL , 5 bytes, agrietado
Los caracteres ocultos se indican con
%
.Salida:
La entrada
0
es válida.Código original:
es decir,
fuente
SWIFT, 55 bytes, agrietado
*
marca un personaje ocultoSalida:
La función acepta
0
fuente
Ruby, 46 bytes, seguro
Editar para agregar descargo de responsabilidad / disculpa: Esta secuencia comienza con f [0], mientras que la entrada OEIS comienza con f [1]. Los valores son iguales.
Código ofuscado (
#
es cualquier carácter):Llamar como
Salida:
Solución:
Secuencia:
Explicación:
fuente
05AB1E , 3 bytes, agrietado
Salida:
Código oculto:
Pruébelo en línea puede ser útil.
fuente
Hexagonía , 7 bytes, agrietada
Salida:
Código oculto:
O alternativamente:
Pruébelo en línea puede ser útil.
fuente
0
?PHP, 41 bytes, agrietado
Sí, finalmente otro desafío de policías y ladrones. Espero no haberlo hecho fácil.
Salida
Fuente
Notas
Agrietado
Obviamente lo hice fácil y no proporcioné suficientes ejemplos. La secuencia que tenía en mente era A010054 :
Aquí está mi código fuente original:
Comprueba si la entrada es un número triangular y las salidas
1
o en0
consecuencia.fuente
Jolf, 11 bytes, agrietado , A011551
Código original:
Ejemplos:
fuente
MATL, 9 bytes, Agrietado
Código:
Salida:
a(0)
es válido.Agrietado
Secuencia original: A059563
Código original:
fuente
Java, 479 bytes, agrietado
Salidas:
(Las entradas se proporcionan a través de argumentos de línea de comando)
Código (
#
marca caracteres ocultos):El programa comienza en el índice 0.
(Tenga en cuenta que SE reemplaza todas las
\t
sangrías con 4 espacios, con lo que el total de bytes es de 569. Haga clic aquí para ver el programa con\t
sangrías en lugar de sangrías de espacio).Código original:
(Mismo código, pero formateado normalmente):
fuente
i
a}
? Y por favor especifique 0-tolerancia.a(9)
ya(19)
oa(8)
ya(18)
, de acuerdo con la versión que tomó en OEIS?Octava, 34 bytes, agrietada
Salidas:
La secuencia comienza
ans(1)
en OEIS.fuente
C, 71 bytes agrietados
Salida:
Esto funciona con gcc y es un programa completo. Acepta 0 como entrada.
fuente
Pyth, 70 bytes, agrietado
#
son los personajes ocultosSe ha descifrado, así que aquí está la versión sin caracteres ocultos:
Resultados de muestra:
Buena suerte para encontrar esto en OEIS, personalmente no pude encontrarlo en esos ejemplos (aunque la secuencia es bastante fácil de detectar).fuente
Ruby, 38 bytes, agrietado
Código ofuscado (
#
puede ser cualquier carácter):Salida:
Multiplica la entrada por 10 (A008592). Funciona para cualquier número entero, incluido 0. ej.
fuente
05AB1E , 5 bytes, agrietado
Salida:
Código ofuscado:
Pruébalo en línea! -enlazar.
fuente
05AB1E , 4 bytes, agrietado
Bueno, entonces, creo que soy adicto a CnR ... Código ofuscado (
_
indica un comodín):Secuencia:
La secuencia en OEIS comienza en a (1) = 2.
Pruébalo en línea! -enlazar
fuente
Lua, 45 bytes, agrietada
Una pequeña pista:
Salida
Código
Utiliza
#
para ocultar el código :).Estaba usando el OEIS A007814 , con el siguiente código:
fuente
Pyke , 15 bytes, SEGURO
Salida
Código revelado:
Solución:
fuente
C, 82 bytes, seguro
Funciona con gcc, y es un programa completo, que lee su entrada desde stdin e imprime su salida en stdout. Aquí la secuencia es
A004526, piso (n / 2).Solución:
Esto funciona solo en pequeñas máquinas endian, y solo si el tamaño
char
es de 1 byte.Y solo si el byte más alto que el byte de orden más alto de
a
tiene valor 0. Creo que esto es cierto para gcc ya que por defecto las variables globales no inicializadas van al segmento bss, y las variables globales inicializadas van al segmento de datos (ver https: // stackoverflow.com/questions/8721475/if-a-global-variable-is-initialized-to-0-will-it-go-to-bss ).Por lo tanto, solo
a
entra en bss (la única otra variable globalb
se inicializa y, por lo tanto, entra en el segmento de datos). Sia
no está al final de bss, entonces el byte más alto que el byte de orden más altoa
también está en bss y, por lo tanto, tiene el valor 0.fuente
05AB1E, 1 byte, agrietado
_
denota código oculto.fuente
Elemento , 10 bytes, agrietado
Salida:
Probablemente solo haya algunas formas de calcular esta secuencia en Element. Encontré una solución de 9 caracteres, pero pensé que esta solución de 10 caracteres es en realidad más difícil. El
#
son personajes ocultos.Para mayor comodidad, aquí están las páginas wiki de Try It Online y Esolang .
El original era
fuente
Pyth , 18 bytes
#
marca caracteres no revelados.Salidas (comienza desde
1
):Intérprete en línea
fuente
05AB1E , 5 bytes, agrietado
Espero que esta presentación no sea tan fácil como las otras: p. Salidas:
Código ofuscado:
Sin embargo, contiene algunos caracteres no ASCII, utiliza la codificación CP-1252 .
Pruébalo en línea! podría ser útil: p.
fuente
Jolf , 11 bytes, agrietado .
Salida:
Y el código parcialmente oculto:
Insinuación:
La versión descifrada no es la misma que mi código original. Actualmente no estoy en mi computadora, así que no la tengo exactamente, pero era algo así:
(La única parte de la que no estoy seguro es:
!m
es lo que verifica si una variable es cero).fuente
Pyke , 6 bytes, agrietado
Salida:
Esto no funciona con N <1
Solución original:
fuente