Eine russische Nistpuppe, besser bekannt als Matroschka-Puppe , ist eine Puppe, die eine kleinere Version von sich selbst enthält , die dann eine andere kleinere Version von sich selbst enthält , die eine kleinere Version von sich selbst enthält, die enthält eine kleinere Version von sich selbst ... - bis schließlich die letzte leer ist. Ein Beispiel:
Heute ist es Ihr Ziel, diese russische Tradition zu emulieren, indem Sie ein Programm oder eine Funktion schreiben, die, wenn sie sich N-mal enthält, sich selbst druckt und N-1 Kopien von sich selbst enthält.
Zum Beispiel hat das Puppenprogramm das Programm abcd
N = 3 abababcdcdcd
, das das Programm N = 2 ausgibt ababcdcd
, das das ursprüngliche Programm N = 1 ausgibt abcd
, das schließlich das leere Programm N = 0 ausgibt. Dies sollte theoretisch für jeden vernünftigen Wert von N funktionieren.
Regeln:
- Hier ist ein TIO-Programm, mit dessen Hilfe Sie Puppenprogramme basierend auf Ihrem Programm erstellen können
- Es gelten die Standard-Quine-Regeln
- Es gelten Standard-Regelungslücken
- "Enthält" bedeutet direkt in der Mitte der vorherigen Version, sodass Ihre Lösung eine positive gerade Anzahl von Bytes aufweisen muss. Bei einem Programm der Länge 10 wird eine Kopie des Originals nach dem fünften Byte und eine Kopie nach dem zehnten Byte usw. eingefügt.
- In der Ausgabe ist ein einzelnes abschließendes Leerzeichen zulässig
- Da dies Codegolf ist , ist es Ihr Ziel, Ihr N = 1-Programm so kurz wie möglich zu halten.
- Eine Erklärung Ihres Codes wäre willkommen
N
wird die Codegröße gemessen?