Вступ
В геометрії крива Пеано є першим прикладом кривої заповнення простором, яку відкрив Джузеппе Пеано в 1890 році. Крива Пеано - сюрєктивна, безперервна функція від одиничного інтервалу до одиничної площі, однак вона не є ін’єктивною. Пеано був мотивований більш раннім результатом Георга Кантора, що ці два набори мають однакову кардинальність. Через цей приклад деякі автори використовують словосполучення "Крива Пеано" для позначення більш загальної кривої заповнення простору.
Виклик
Програма приймає введення, яке є цілим числом n
, і виводить малюнок, що представляє n
ітерацію кривої Пеано, починаючи з боку 2, показаної в крайній лівій частині цього зображення:
Вхідні дані
Ціле число, що n
дає ітераційне число кривої Пеано. Необов'язково, додатковий вклад описано в розділі бонусів.
Вихідні дані
Креслення n
кривої Пеано. Малюнок може бути як мистецтвом ASCII, так і «справжнім» малюнком, залежно від того, що є найпростішим або найкоротшим.
Правила
- Введення та вихід можуть бути надані у будь-якому зручному форматі (виберіть найбільш відповідний формат для вашої мови / рішення).
- Не потрібно обробляти негативні значення або недійсні дані
- Прийнятна або повна програма, або функція.
- Якщо можливо, додайте посилання на онлайн-тестувальне середовище, щоб інші люди могли спробувати ваш код!
- Стандартні лазівки заборонені.
- Це код-гольф, тому застосовуються всі звичайні правила гольфу, і найкоротший код (у байтах) виграє.
Бонуси
Оскільки це не повинна бути прогулянка по парку (принаймні на більшості мов, що я можу придумати), бонусні бали присуджуються за наступне:
- -100 байт, якщо ваш код генерує gif побудови кривих Peano до
n
. - -100 байт, якщо ваш код малює криву, що заповнює простір, для будь-якої прямокутної форми (очевидно, крива Peano працює лише для квадратів). Можна припустити, що тоді вхід набуває форми,
n l w
деn
має те саме значення, що і раніше (номер ітерації), але деl
іw
стають довжина і ширина прямокутника, в якому намалювати криву. Якщоl == w
це стає звичайною кривою Пеано.
Негативні бали дозволені (але чи можливі вони ...).
Редагувати
Будь ласка, включіть у програму вихідну програму n == 3 (l == w == 1)
.
n
було використано, якщо l
і w
є також вхідними даними ??????????? І буде крива Пеано бути особливий випадок - це не тільки spacefilling крива, тому деякі алгоритми , можливо , доведеться specialcase це