Cadena de golf (hilo de policía)


13

Este es un desafío de policías y ladrones. Para el hilo de los ladrones, vaya aquí .

Los policías tienen tres tareas.
1) Elija una secuencia del OEIS .

2) Elija un idioma (se sugiere que esto sea un argot de golf, pero no tiene que serlo) que, cuando se le da entrada n, sale A(n)(donde A(n)se elige la secuencia) utilizando todas las reglas habituales de .
Llame a este lenguaje L A y el código C A .
Por ejemplo, Jelly y Jelly_code .

3) Luego, elija un idioma diferente (se sugiere que esto no es un argot de golf, pero no tiene que serlo) y escriba un código que no tome entrada y salga del código C A , nuevamente siguiendo todas las reglas habituales de . (Nota:. Este código puede ser ofuscado y no necesita necesariamente ser golfed, pero cuanto más tiempo este código es el más fácil será para que los ladrones de roer su presentación)
Llame a este lenguaje L B y el código C B .
Por ejemplo, Python y Python_code .

La sumisión del policía a este desafío es la secuencia (especificada ya sea 0 o 1 indexada), el nombre de los dos idiomas L A y L B (y cuál resuelve qué parte), y el recuento de bytes de C B solamente. Mantenga el código real de ambas partes, y la longitud de C A , en secreto.

Para el policía, los enlaces a la documentación para L A y L B , o un intérprete (o un enlace TIO, ya que incluye ambos), son apreciados pero no obligatorios.

El desafío del ladrón es seleccionar la entrada de un policía y escribir el código C C en el mismo lenguaje L B que genera algún código en el mismo lenguaje L A que resuelve la tarea OEIS original. La longitud de C C no puede ser mayor que la longitud de C B según lo revelado por el policía (aunque puede ser más corta). Nota: El código producido por C C no no tiene que coincidir con C A .

Para nuestro ejemplo, esto significa que el Ladrón tiene que escribir el código Python que genera el código Jelly que resuelve la secuencia OEIS original, y que el código Python no debe ser más largo que la longitud revelada por el Cop.

Condiciones ganadoras

Las respuestas que no se hayan descifrado en una semana pueden revelar sus soluciones, momento en el que se consideran seguras . Tenga en cuenta que si no revela su solución después de una semana, aún se puede descifrar. El policía con la respuesta segura más corta gana.



¿Mantenemos en secreto la secuencia OEIS?
juniorRubyist

@juniorRubyist No, el policía debe indicar qué secuencia utilizaron y si está indexada 0 o 1.
AdmBorkBork

Respuestas:


3

OEIS A000041 , agrietado por ETHproductions

Probemos al revés: golflang genera no golflang.

a (n) = número de particiones de n (los números de partición).

  • a (n) (indexado por 0) es devuelto por una función de JavaScript (ES6)
  • El programa que genera la función JS está escrito en Jelly
  • La longitud del programa Jelly es de 35 bytes.

Solución prevista

Jelly: “¦ṚoIwƭ- ḊFæSḂ¥¶Ẉ|ḊJƓƝʋnrB⁾’b28+40Ọ

que genera

JS:C=(A,B=A)=>A<0?0:A?B?C(A,B-1)+C(A-B,B):0:1


Agrietada . Eso fue bastante divertido, aunque parece que he perdido un par de horas :-)
ETHproductions

@ETHproductions ¡Agradable! Mi solución JS estaba usando un rango restringido de caracteres para poder comprimirlo como un entero de base 28 en el lado Jelly.
Arnauld

@ETHproductions Hombre, debería haber pasado más tiempo optimizando el código JS. Aquí hay una solución de 31 bytes . ¯ \ _ (ツ) _ / ¯
Arnauld

2

OEIS A048272 , descifrado por DJMcMayhem

Número de divisores impares de n menos número de divisores pares de n (1 indexado).

  • El programa que genera un (n) está escrito en 05AB1E .
  • El programa que genera el programa 05AB1E está escrito en Brain-Flak + la -Abandera.
  • La longitud del programa Brain-Flak es de 198 bytes (el recuento de bytes no incluye la bandera).

Tenga en cuenta que probablemente podría jugar fácilmente al programa Brain-Flak utilizando trucos de manipulación de pila y otros trucos de complejidad kolmogorov que conozco, pero quería mantener esto simple como mi primer envío. ¡Buena suerte, ladrones!

Lo que tenía en mente

05AB1E: ÑÈD<)O(O

Brain-Flak:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})



@DJMcMayhem :( Acabo de terminar
HyperNeutrino

@DJMcMayhem Nice! Intentaré algo un poco más difícil a continuación.
Sr. Xcoder

2

OEIS 000035 , agrietado por betseg

El problema se resuelve en Proton .
El código de Proton es emitido por Python .
La longitud del programa Python es de 13 bytes .

Realmente fácil para empezar (si conoces Proton: D). Indexado a cero.

Solución prevista

Python: print("(2%)")
Protón: (2%)
aunque decidí dejarlo n=>n%2lo suficientemente corto porque los accesos directos de funciones diádicas / monádicas no están documentados.


77
Realmente fácil si conoces un idioma que parece tener exactamente cero documentación. Sí, genial.
Peter Taylor

3
¿Por qué el enlace a A34 ...
User202729


@ user202729 solucionado gracias
HyperNeutrino

@PeterTaylor precisamente cero, hay suficiente aquí para que lo resuelvas ...
HyperNeutrino


1

OEIS A055642 , agrietada por Lynn

Número de dígitos en expansión decimal de n

Probablemente esto sea demasiado fácil, pero me tomó un tiempo, así que espero que alguien esté tan decepcionado como yo cuando finalmente lo descubrí: D

  • El programa que escribe un (n) está escrito en 05AB1E
  • El programa que imprime el programa 05AB1E está escrito en TeX
  • El programa TeX es 6 bytes de longitud

Lo que tenía en mente:

Sgcomo código 05AB1E
Sg\byecomo código TeX



1
@ Lynn sí. ¿Qué tan decepcionado estabas?
Simon Klaver

1

OEIS A000668 , agrietado por Lynn

Mersenne primos (de forma 2 p -1 donde p es primo)

  • a (n) es emitido por un programa completo Jelly .
  • n está indexado en 1.
  • El programa Jelly está impreso por un programa de Triangularidad , cuya longitud es de 38 bytes .

Estrategia diferente: resolver la secuencia en un golflang y generar el programa en un esolang.

Solución prevista


¿Estás seguro de que la longitud es correcta? Los documentos dicen que un programa de triangularidad debe tener una longitud 2*n^2 - 1que no puede ser de 38.
Lynn

1
@ Lynn Eso se refiere al recuento de caracteres , no al recuento de bytes .
Sr. Xcoder

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.