的希尔伯特曲线是可以被表示为空间填充的分形Lindenmayer系统与连续世代看起来像这样:
由于http://www.texample.net/tikz/examples/hilbert-curve/用于图像。
目标
编写尽可能短的程序(以字节为单位),该程序从stdin取一个正整数n并仅使用正斜杠,反斜杠,空格和换行符将n阶Hilbert曲线绘制到stdout。
例如,如果输入是1
输出,则必须为
\
\/
如果输入是2
输出,则必须为
/
\/\
/\ \
/ /\/
\ \
\/
如果输入是3
输出,则必须为
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
等等。(如果将它们粘贴到行间距较小的东西中,它们看起来会更好。)
输出中不应在曲线的端点上方或下方包含换行符,也不应在任何直线上包含任何尾随空格。
.map(&:rstrip)
不得不加入到履行“没有尾随空格”的要求。