您的任务:生成第n个深度的科赫雪花。您无需制作完整的Koch雪花,只需在起始三角形的一侧即可。关于科赫片的维基百科:https : //en.wikipedia.org/wiki/Koch_snowflake。
规则:
- 该程序必须将Koch雪花的一侧生成到第n个深度。
- 输出必须为ASCII。
- 您可能会生成整个雪花;这不是必需的。
- 输入/输出,漏洞和内容的标准规则适用。
- 空格并不重要,只要所有字符之间的相对位置正确即可。
- 最短的代码胜出!
测试用例:
n = 0:
__
n = 1:
__/\__
n = 2:
__/\__
\ /
__/\__/ \__/\__
n = 3:
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
我希望这是有道理的。请注意,在每个测试用例中,分形都可以分为三个长度相等的部分。还要注意,每个雪花的宽度是上一代雪花的宽度的三倍。
仅供参考,大家一致认为这不是愚弄的这个。
—
“ SparklePony同志” 17年
我认为您没有适当定义第n条Koch曲线的正确ASCII表示形式。
—
Orlp
我不确定比例是否合理。非重复使用
—
与Orjan约翰森
__/\__
两个下划线,使得每次迭代始终是上一个下划线的3倍。仅使用一个下划线似乎会产生矛盾,在n = 3时开始变得非常尴尬。例如,外部部分的宽度为12,而中间部分的宽度仅为10,这是由于的狭窄/_
而_\
导致的。甚至在此之前,您就已经_
扩展到/
和的宽度的两倍\
。
我认为
—
ØrjanJohansen
/_
and _\
是唯一真正致命的部分-下划线需要删除,因为它们必须与/
and 处于同一位置\
。一旦完成,从n = 1开始,事物可以扩展3倍(但n = 0不适合。)