Una muñeca rusa de anidación, más comúnmente conocida como muñeca Matryoshka , es una muñeca que contiene una versión más pequeña de sí misma, que luego contiene otra versión más pequeña de sí misma, que contiene una versión más pequeña de sí misma, que contiene una versión más pequeña de sí misma, que contiene una versión más pequeña de sí mismo ... hasta que finalmente, la última está vacía. Un ejemplo:
Hoy su objetivo es emular esta tradición rusa escribiendo un programa o función que, cuando se contiene N veces, se imprimirá conteniendo copias N-1 de sí mismo veces.
Por ejemplo, el programa de muñeca abcd
tendrá el programa N = 3 abababcdcdcd
, que imprimirá el programa N = 2 ababcdcd
, que imprime el programa N = 1 original abcd
, que finalmente imprime N = 0, que está vacío. Teóricamente, esto debería funcionar para cualquier valor razonable de N.
Reglas:
- Aquí hay un programa TIO para ayudar a generar programas de muñecas basados en su programa
- Se aplican las reglas estándar de Quine
- Se aplican lagunas estándar
- 'Contiene' significa directamente en el centro de la versión anterior, por lo que su solución debe tener un número par positivo de bytes. Un programa de longitud 10 tendrá una copia del original insertada después del quinto byte, luego otra después del décimo byte, etc.
- Se permite un espacio en blanco al final en la salida
- Como se trata de código de golf , su objetivo es hacer que su programa N = 1 sea lo más breve posible.
- Se agradecería una explicación de su código
N
se mide el tamaño del código?