Reto
Su tarea es escribir un fragmento de código que genere otro fragmento de código. A su vez, ese código debe generar otro código hasta que el código final genere el entero 1 . La cadena termina la primera vez que se emite 1 .
Ninguno de sus programas puede compartir caracteres (hay una excepción en la sección Reglas).
La presentación ganadora será la presentación con la cadena más larga. El desempate será la longitud de código total más corta.
Reglas:
- Puede usar ambas funciones, programas y fragmentos. Puede asumir un entorno REPL.
- Todas las funciones deben estar escritas en el mismo idioma.
- Los lenguajes independientes de símbolos no están permitidos. Esto incluye lenguajes independientes de símbolos parciales, como Headsecks.
- El formato de salida predeterminado se puede descartar opcionalmente en la salida de una función. Esto incluye líneas nuevas,
ans =
etc. - Puede reutilizar el carácter de espacio (punto de código ASCII 32), pero tenga en cuenta lo siguiente:
- Puede usar tantos caracteres de espacio como desee en una de las funciones, pero restringirlo a un máximo de 5 en todas las demás funciones
- No puede reutilizar ningún carácter si el punto de código 32 no es espacio en su idioma.
Ninguno de los programas puede recibir aportes
La cadena debe tener al menos dos programas de largo.
Ejemplo:
Tu código inicial es abc+cab+bac
. Esto genera:, foofoo*123
que a su vez genera disp(~0)
, que genera 1
. Esta es una cadena de 3 programas, con una longitud combinada de 29 (desempate).
2^3
, que solo se evaluaría 1
, o tiene que ser lambda:2^3
, por ejemplo print(2^3)
, etc.?
1
ser tanto un programa como la salida de ese programa o la cadena termina cuando 1
es la salida?