A curva de Hilbert é um fractal de preenchimento de espaço que pode ser representado como um sistema Lindenmayer com gerações sucessivas assim:
Agradecemos a http://www.texample.net/tikz/examples/hilbert-curve/ pela imagem.
Objetivo
Escreva o programa mais curto possível (em bytes) que pega um número inteiro positivo n de stdin e desenha a curva de Hilbert de enésima ordem para stdout usando apenas barra invertida, barra invertida, espaço e nova linha.
Por exemplo, se a entrada for 1
a saída, deve ser
\
\/
Se a entrada for 2
a saída deve ser
/
\/\
/\ \
/ /\/
\ \
\/
Se a entrada for 3
a saída deve ser
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
E assim por diante. (Eles ficam mais agradáveis se você os colar em algo com menos espaçamento entre linhas.)
A saída não deve conter novas linhas acima ou abaixo das extremidades da curva, nem espaços à direita em nenhuma linha.
.map(&:rstrip)
foi necessário adicionar para atender ao requisito "sem espaços à direita".