हिल्बर्ट वक्र एक स्पेस फिलिंग भग्न है कि एक के रूप में प्रतिनिधित्व किया जा सकता है Lindenmayer प्रणाली लगातार पीढ़ियों के साथ कि इस तरह देखो:
के लिए धन्यवाद http://www.texample.net/tikz/examples/hilbert-curve/ छवि के लिए।
लक्ष्य
सबसे कम संभव प्रोग्राम (बाइट्स में) लिखें जो स्टड से एक सकारात्मक पूर्णांक n लेता है और केवल आगे स्लैश, बैकवर्ड स्लैश, स्पेस और न्यूलाइन का उपयोग करके nth ऑर्डर हिल्बर्ट वक्र को स्टडआउट तक खींचता है।
उदाहरण के लिए, यदि इनपुट 1
आउटपुट है तो होना चाहिए
\
\/
यदि इनपुट है 2
तो आउटपुट होना चाहिए
/
\/\
/\ \
/ /\/
\ \
\/
यदि इनपुट है 3
तो आउटपुट होना चाहिए
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
और इसी तरह। (वे अच्छे लग रहे हैं यदि आप उन्हें कम लाइन रिक्ति के साथ कुछ में पेस्ट करते हैं।)
आउटपुट में कर्व के छोरों के ऊपर या नीचे की नई सीमाएं नहीं होनी चाहिए, न ही किसी भी लाइनों पर कोई अनुगामी स्थान।
.map(&:rstrip)
को "नो ट्रेलिंग स्पेस" की आवश्यकता को पूरा करने के लिए जोड़ा जाना था।