Uma boneca russa, mais comumente conhecida como boneca matryoshka , é uma boneca que contém uma versão menor de si mesma, que contém outra versão menor de si mesma, que contém uma versão menor de si mesma, que contém uma versão menor de si mesma, que contém uma versão menor de si mesma ... - até que finalmente a última esteja vazia. Um exemplo:
Hoje, seu objetivo é imitar essa tradição russa escrevendo um programa ou função que, quando contiver N vezes, será impresso contendo N-1 cópias de si mesmo vezes.
Por exemplo, o programa boneca abcd
terá o programa N = 3 abababcdcdcd
, que imprimirá o programa N = 2 ababcdcd
, que imprime o programa N = 1 originalabcd
, que finalmente imprime N = 0, que está vazio. Teoricamente, isso deve funcionar para qualquer valor razoável de N.
Regras:
- Aqui está um programa TIO para ajudar a gerar programas de boneca com base no seu programa
- Aplicam-se as regras padrão do Quine
- Aplicam-se brechas padrão
- 'Contém' significa diretamente no centro da versão anterior; portanto, sua solução deve ter um número par positivo de bytes. Um programa de tamanho 10 terá uma cópia do original inserida após o quinto byte, depois outra após o décimo byte, etc.
- Um único espaço em branco à direita é permitido na saída
- Como esse é o código-golfe , seu objetivo é tornar o seu programa N = 1 o mais curto possível.
- Uma explicação do seu código seria apreciada
N
é o tamanho do código medido?