Ваше завдання: генерувати сніжинку Коха на n-ту глибину. Не потрібно робити повну сніжинку Коха, лише одну сторону стартового трикутника. Вікіпедія на пластівцях Коха: https://en.wikipedia.org/wiki/Koch_snowflake .
Правила:
- Програма повинна генерувати одну сторону сніжинки Коха до п’ятої глибини.
- Вихід повинен бути ASCII.
- Ви можете створити всю сніжинку; цього не потрібно.
- Застосовуються стандартні правила введення / виводу, лазівки та ін.
- Пробіл не має значення, доки всі персонажі знаходяться в потрібному місці відносно один одного.
- Найкоротший код виграє!
Тестові приклади:
n = 0:
__
n = 1:
__/\__
n = 2:
__/\__
\ /
__/\__/ \__/\__
n = 3:
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
Сподіваюся, це має сенс. Зауважте, що у кожному тестовому випадку фрактал можна розділити на три частини, однакові за довжиною. Також зауважте, що ширина кожної сніжинки втричі перевищує ширину попереднього покоління сніжинки.
FYI, було вирішено , що це не боян з цього .
—
Товариш SparklePony
Я не думаю, що ви належним чином визначили, що таке правильне представлення ASCII n-ї кривої Коха.
—
orlp
Я не впевнений, що пропорції мають сенс. Некорекція використовується
—
Ørjan Johansen
__/\__
з двома підкресленнями, що зробило кожну ітерацію послідовно в 3 рази більшою за попередню. Використання лише одного підкреслення, здається, створює протиріччя, які починають ставати справді незручними в n = 3. Наприклад, зовнішні частини мають ширину 12, тоді як середня частина має лише ширину 10, як наслідок /_
і _\
занадто тісних. А ще до цього ви _
розширилися вдвічі ширше /
і \
.
Я думаю, що є
—
Ørjan Johansen
/_
і _\
є єдиною насправді фатальною частиною - підкреслення потрібно робити, тому що вони повинні знаходитися в тому ж положенні, що /
і \
. Після цього все може розширитися в 3 рази від n = 1 і далі (але n = 0 не відповідає.)
На жаль, ні, середня частина все ще має ширину, що не відповідає зовнішнім частинам, про що свідчить n = 3, що має ширину 52, а не 54 = 2 * 3 ^ 3. Спробуйте один із них . Я включив перевернуті версії з частинами, що відображаються лише від n = 4 або n = 5 - вони відрізняються від верхніх вершин, у яких підкреслюються підкреслення.
—
Ørjan Johansen