Російська лялька для гніздування, більш відома як лялька Матрьошка , - це лялька, яка містить меншу версію себе, яка потім містить іншу меншу версію себе, яка містить меншу версію себе, яка містить меншу версію себе, яка містить меншу версію себе ... - поки нарешті остання не порожня. Приклад:
Сьогодні ваша мета - наслідувати цю російську традицію, написавши програму або функцію, яка, коли вона містить себе N разів, надрукує себе, що містить N-1 копії себе разів.
Наприклад, програма ляльки abcd
матиме програму N = 3 abababcdcdcd
, яка буде друкувати програму N = 2 ababcdcd
, яка друкує оригінальну програму N = 1 abcd
, яка нарешті друкує N = 0, яка порожня. Це теоретично повинно працювати для будь-якого розумного значення Н.
Правила:
- Ось програма TIO, яка допоможе генерувати лялькові програми на основі вашої програми
- Діють стандартні правила Quine
- Застосовуються стандартні лазівки
- "Містить" означає безпосередньо в центрі попередньої версії, тому ваше рішення повинно мати додатне парне число байтів. Програма довжиною 10 матиме копію оригіналу, вставленого після п’ятого байта, потім ще одну після десятого байта тощо.
- У висновку дозволено єдине пробільне пробіл
- Оскільки це код-гольф , ваша мета - зробити вашу програму N = 1 якомога коротшою.
- Пояснення вашого кодексу буде вдячно
N
вимірюється розмір коду?