Krzywa Hilberta jest przestrzenią napełniania fraktali, który może być przedstawiony jako systemu Lindenmayer z kolejnych pokoleń, które wyglądają tak:
Dzięki http://www.texample.net/tikz/examples/hilbert-curve/ dla obrazu.
Cel
Napisz najkrótszy możliwy program (w bajtach), który pobiera dodatnią liczbę całkowitą n ze standardowego wejścia i rysuje krzywą Hilberta n-tego rzędu do standardowego, używając tylko ukośnika do przodu, ukośnika do tyłu, spacji i nowej linii.
Na przykład, jeśli wejście jest 1
wyjściem, musi być
\
\/
Jeśli wejście jest 2
wyjściem, musi być
/
\/\
/\ \
/ /\/
\ \
\/
Jeśli wejście jest 3
wyjściem, musi być
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
I tak dalej. (Wyglądają ładniej, jeśli wkleisz je w coś o mniejszych odstępach między wierszami).
Dane wyjściowe nie powinny zawierać znaków nowej linii powyżej lub poniżej krańców krzywej ani żadnych spacji końcowych na żadnych liniach.
.map(&:rstrip)
trzeba było dodać, aby spełnić wymóg „brak spacji końcowych”.