Rosyjska lalka gniazdująca, bardziej znana jako lalka Matryoshka , to lalka, która zawiera mniejszą wersję siebie, która następnie zawiera kolejną mniejszą wersję siebie, która zawiera mniejszą wersję siebie, która zawiera mniejszą wersję siebie, która zawiera mniejszą wersję siebie ... - aż w końcu ostatnia jest pusta. Przykład:
Dzisiaj Twoim celem jest naśladowanie rosyjskiej tradycji, pisząc program lub funkcję, która, gdy będzie zawierała N razy, wydrukuje się zawierająca N-1 swoich kopii.
Na przykład program lalki abcd
będzie miał program N = 3 abababcdcdcd
, który wydrukuje program N = 2 ababcdcd
, który drukuje oryginalny program N = 1 abcd
, który w końcu wypisuje N = 0, który jest pusty. Powinno to teoretycznie działać dla każdej rozsądnej wartości N.
Zasady:
- Oto program TIO, który pomaga generować programy dla lalek na podstawie Twojego programu
- Obowiązują standardowe zasady Quine
- Obowiązują standardowe luki
- „Zawiera” oznacza bezpośrednio w centrum poprzedniej wersji, więc twoje rozwiązanie musi mieć dodatnią liczbę parzystą bajtów. Program o długości 10 będzie miał kopię oryginału wstawioną po piątym bajcie, a następnie kolejną po dziesiątym bajcie itp.
- Wyjściowe pojedyncze spacje są dozwolone
- Ponieważ jest to kod-golf , Twoim celem jest, aby Twój program N = 1 był jak najkrótszy.
- Dziękujemy za wyjaśnienie twojego kodu
N
zmierzony jest rozmiar kodu?