Ваше завдання полягає в тому, щоб написати програму рівної довжини , яка друкує ASCII-художній квадрат (описаний нижче), що збільшує його бічну довжину на 1 одиницю щоразу, коли вихідний вихідний код вставляється в середину поточного коду.
Мені досить складно визначити це завдання дуже добре, тому я наведу вам приклад:
Скажімо, ваш початковий код був
CODE
і що він надрукував:0
Потім вставте
CODE
в середину: ваш код стаєCOCODEDE
і він повинен надрукувати:00 00
Повторно вставляйте
CODE
посередині: ваш код стаєCOCOCODEDEDE
та повинен друкувати:000 000 000
І так далі. Ваша відповідь теоретично повинна працювати після будь-якої кількості ітерацій, але я розумію, що через обмеження в мовній роботі вона не може розумно перевищувати певний поріг.
Деякі правила:
Ви можете використовувати будь-який друкований ASCII (32-127) в якості символу для площі. Ваш вибір повинен бути постійним (для кожної ітерації слід використовувати один і той же символ).
Початковий квадрат виходу повинен мати довжину сторони 1 .
Квадрат ascii-art визначається як рядок з N рядками (розділеними N-1 рядками / новинками рядка), і з кожним рядком, що містить N копій обраного символу.
Вихідні дані не можуть містити сторонні пробіли, окрім останнього нового рядка.
Ви можете використовувати параметри за замовчуванням для введення та виводу (програми чи функції дозволені, але фрагменти - ні).
Середина вашого коду визначається як точка , де вихідний код може бути розділений на дві частини таким чином, що вони рівні.
Ваші відповіді будуть оцінені по довжині вашої оригінальної програми , в байтах. Виграє найменший байт. У випадку, якщо є нічия, відповідь, подана раніше, перемагає.
За допомогою цієї програми можна застосовувати вставки, не роблячи це вручну.