La curva di Hilbert è un frattale che riempie lo spazio che può essere rappresentato come un sistema Lindenmayer con generazioni successive che assomigliano a questo:
Grazie a http://www.texample.net/tikz/examples/hilbert-curve/ per l'immagine.
Obbiettivo
Scrivi il programma più breve possibile (in byte) che prende un numero intero positivo n da stdin e disegna la curva di Hilbert del n ° ordine su stdout usando solo la barra in avanti, la barra all'indietro, lo spazio e la nuova riga.
Ad esempio, se l'ingresso è 1
l'output deve essere
\
\/
Se l'ingresso è 2
l'uscita deve essere
/
\/\
/\ \
/ /\/
\ \
\/
Se l'ingresso è 3
l'uscita deve essere
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
E così via. (Sembrano più belli se li incolli in qualcosa con meno interlinea.)
L'output non deve contenere newline al di sopra o al di sotto delle estremità della curva, né spazi finali su nessuna linea.
.map(&:rstrip)
stato necessario aggiungerlo per soddisfare il requisito "nessun spazio finale".