Une poupée gigogne russe, plus communément appelée poupée Matriochka , est une poupée qui contient une version plus petite d'elle-même, qui contient ensuite une autre version plus petite d'elle-même, qui contient une version plus petite d'elle-même, qui contient une version plus petite d'elle-même, qui contient une version plus petite de lui-même ... - jusqu'à ce que finalement, la dernière soit vide. Un exemple:
Aujourd'hui, votre objectif est d'imiter cette tradition russe en écrivant un programme ou une fonction qui, lorsqu'elle se contient N fois, s'imprime contenant N-1 copies d'elle-même fois.
Par exemple, le programme poupée abcd
aura le programme N = 3 abababcdcdcd
, qui imprimera le programme N = 2 ababcdcd
, qui imprime le programme N = 1 original abcd
, qui imprime finalement N = 0, qui est vide. Cela devrait théoriquement fonctionner pour toute valeur raisonnable de N.
Règles:
- Voici un programme TIO pour aider à générer des programmes de poupée basés sur votre programme
- Les règles standard de Quine s'appliquent
- Les échappatoires standard s'appliquent
- «Contient» signifie directement au centre de la version précédente, donc votre solution doit avoir un nombre pair d'octets positif. Un programme de longueur 10 aura une copie de l'original insérée après le cinquième octet, puis une autre après le dixième octet, etc.
- Un seul espace de fin est autorisé dans la sortie
- Comme il s'agit de code-golf , votre objectif est de rendre votre programme N = 1 aussi court que possible.
- Une explication de votre code serait appréciée
N
taille de code est mesurée?