Die Hilbert-Kurve ist ein raumfüllendes Fraktal, das als Lindenmayer-System mit folgenden Generationen dargestellt werden kann:
Dank http://www.texample.net/tikz/examples/hilbert-curve/ für das Bild.
Tor
Schreiben Sie das kürzestmögliche Programm (in Bytes), das eine positive ganze Zahl n von stdin nimmt und die Hilbert-Kurve n-ter Ordnung mit nur Schrägstrich, Schrägstrich zurück, Leerzeichen und Zeilenumbruch zu stdout zeichnet.
Wenn zum Beispiel der Eingang 1
der Ausgang ist, muss er sein
\
\/
Wenn der Eingang ist, 2
muss der Ausgang sein
/
\/\
/\ \
/ /\/
\ \
\/
Wenn der Eingang ist, 3
muss der Ausgang sein
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
Und so weiter. (Sie sehen besser aus, wenn Sie sie in etwas mit weniger Zeilenabstand einfügen.)
Die Ausgabe sollte keine Zeilenumbrüche über oder unter den äußersten Punkten der Kurve sowie keine nachgestellten Leerzeichen auf den Zeilen enthalten.
.map(&:rstrip)
musste hinzugefügt werden, um die "No Trailing Spaces" -Anforderung zu erfüllen.