Similar a otros acertijos de quine (más específicamente, este ), escriba un programa que produzca la fuente por sí mismo.
Aquí está el nuevo giro: el código producido NO debe ser idéntico a la fuente. Más bien, debería generar un programa diferente que creará el primero.
El desafío vinculado a lo anterior lo logró saltando entre dos idiomas. Estoy pensando que este se haría en un solo idioma , pero las dos (o más) versiones de la fuente deberían ser significativamente diferentes (ver las reglas a continuación). Con esta restricción, las respuestas de un solo carácter se rechazarían, lo que requeriría un poco más de reflexión para una presentación final.
REGLAS
- Su código debe ser producido en un solo idioma. (Múltiples presentaciones, una para cada idioma es perfectamente aceptable).
- Sus diferentes versiones de código deben ser sintácticamente distintas. En otras palabras, si fuera a dibujar un árbol de sintaxis abstracta para su código, debería haber al menos un nodo diferente.
- No será necesario proporcionar un AST , pero si se siente inclinado a proporcionar uno para cada uno de sus programas, sería útil para juzgar.
- Puede producir tantas iteraciones como desee, siempre que todas sigan siendo sintácticamente distintas. (Más ayudará a su puntaje, ver más abajo).
TANTEO
Su puntaje final será la duración media de todos sus programas, dividida por el número de programas.
Ejemplo 1:
A (fuente de B) = 50 caracteres
B (fuente de A) = 75 caracteres
Puntuación final = 31.25
Ejemplo 2
A (fuente de B) = 50 caracteres
B (fuente de C) = 75 caracteres
C (fuente de A) = 100 caracteres
Puntuación final = 25