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