ヒルベルト曲線はとして表すことができる空間充填フラクタルであるLindenmayerシステムの連続した世代と、このようになります。
おかげhttp://www.texample.net/tikz/examples/hilbert-curve/画像のため。
ゴール
stdinから正の整数nを取り、スラッシュ、バックスラッシュ、スペース、改行のみを使用してn次のヒルベルト曲線をstdoutに描画する、可能な最短のプログラム(バイト単位)を記述します。
たとえば、入力が1
出力である場合、
\
\/
入力が2
出力の場合
/
\/\
/\ \
/ /\/
\ \
\/
入力が3
出力の場合
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
等々。(行間隔の少ないものに貼り付けると見栄えがよくなります。)
出力には、曲線の端の上または下の改行も、行の末尾のスペースも含めないでください。
.map(&:rstrip)
「ノー末尾のスペース」の要件を満たすために添加しなければなりませんでした。