Русская матрешка, более известная как матрешка , - это кукла, которая содержит уменьшенную версию самой себя, которая затем содержит другую уменьшенную версию самой себя, которая содержит уменьшенную версию самой себя, которая содержит уменьшенную версию самой себя, которая содержит меньшую версию самого себя ... - пока, наконец, последний не пуст. Пример:
Сегодня ваша цель состоит в том, чтобы подражать этой русской традиции, написав программу или функцию, которая, если она содержит себя N раз, напечатает себя, содержащую N-1 копий своего времени.
Например, программа куклы abcd
будет иметь программу N = 3 abababcdcdcd
, которая будет печатать программу N = 2 ababcdcd
, которая печатает оригинальную программу N = 1 abcd
, которая, наконец, печатает N = 0, которая является пустой. Это должно теоретически работать для любого разумного значения N.
Правила:
- Вот программа TIO, чтобы помочь генерировать программы куклы на основе вашей программы
- Применяются стандартные правила Куайна
- Стандартные лазейки применяются
- «Содержит» означает непосредственно в центре предыдущей версии, поэтому ваше решение должно иметь положительное четное число байтов. Программа длиной 10 будет иметь копию оригинала, вставленную после пятого байта, затем еще одну после десятого байта и т. Д.
- Один выходной пробел допускается в выходных данных
- Поскольку это код-гольф , ваша цель - сделать программу N = 1 максимально короткой.
- Пояснение вашего кода будет оценено
N
измеряется размер кода?