La courbe de Hilbert est une fractale remplissant l'espace qui peut être représentée comme un système Lindenmayer avec des générations successives qui ressemblent à ceci:
Merci à http://www.texample.net/tikz/examples/hilbert-curve/ pour l'image.
Objectif
Écrivez le programme le plus court possible (en octets) qui prend un entier positif n de stdin et dessine la courbe de Hilbert de nième ordre vers stdout en utilisant uniquement la barre oblique, la barre oblique inverse, l'espace et la nouvelle ligne.
Par exemple, si l'entrée est 1
la sortie doit être
\
\/
Si l'entrée est 2
la sortie doit être
/
\/\
/\ \
/ /\/
\ \
\/
Si l'entrée est 3
la sortie doit être
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
Etc. (Ils sont plus beaux si vous les collez dans quelque chose avec moins d'espacement de ligne.)
La sortie ne doit pas contenir de nouvelles lignes au-dessus ou au-dessous des extrémités de la courbe, ni aucun espace de fin sur aucune ligne.
.map(&:rstrip)
devait être ajouté pour répondre à l'exigence "sans espaces de fuite".