Hilbert eğrisi bir şekilde temsil edilebilir bir boşluk doldurma fraktal olan Lindenmayer sistemiyle başarılı nesiller o böyle görünüm:
için teşekkür http://www.texample.net/tikz/examples/hilbert-curve/ görüntü için.
Hedef
Stdin'den pozitif bir tamsayı n alan ve mümkün olan en kısa programı (bayt cinsinden) yazın ve sadece birinci eğik çizgiyi, geriye eğik çizgiyi, boşluğu ve yeni satırı kullanarak ilk sıradaki Hilbert eğrisini çizmeye çekin.
Örneğin, giriş 1
çıkış ise
\
\/
Girdi ise 2
çıktı olmalıdır.
/
\/\
/\ \
/ /\/
\ \
\/
Girdi ise 3
çıktı olmalıdır.
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
Ve bunun gibi. (Daha az satır aralığı olan bir şeye yapıştırırsanız daha iyi görünürler.)
Çıktı, eğrinin uç noktalarının üstünde ya da altında yeni çizgiler ya da herhangi bir çizgi üzerinde takip eden boşluklar içermemelidir.
.map(&:rstrip)
"boşluk yok" şartı yerine getirmek için eklenmesi gerekiyordu.