โค้ง Hilbertเป็นเศษส่วนพื้นที่บรรจุที่สามารถแสดงเป็นระบบ Lindenmayerกับรุ่นหลังที่มีลักษณะเช่นนี้
ขอขอบคุณที่http://www.texample.net/tikz/examples/hilbert-curve/สำหรับภาพ
เป้าหมาย
เขียนโปรแกรมที่สั้นที่สุดเท่าที่จะเป็นไปได้ (เป็นไบต์) ที่รับค่าจำนวนเต็มบวก n จาก stdin และดึงเส้นโค้ง Hilbert ลำดับที่ n มาที่ stdout โดยใช้เฉพาะเครื่องหมายทับด้านหน้า, สแลชย้อนหลัง, ช่องว่างและบรรทัดใหม่
ตัวอย่างเช่นถ้าอินพุตเป็น1
เอาต์พุตต้องเป็น
\
\/
หากอินพุตเป็น2
เอาต์พุตจะต้องเป็น
/
\/\
/\ \
/ /\/
\ \
\/
หากอินพุตเป็น3
เอาต์พุตจะต้องเป็น
\
/\/
/ /\
\/\ \ \
/\ / / /
/ / \/ \/\
\ \/\ /\ \
\/ / / / /\/
/\/ / \ \
\ \/\ \/
\/\ \
/ /\/
\ \
\/
และอื่น ๆ (พวกเขาดูดีกว่าถ้าคุณวางลงในบางสิ่งที่มีระยะห่างบรรทัดน้อยกว่า)
เอาต์พุตไม่ควรมีการขึ้นบรรทัดใหม่ด้านบนหรือด้านล่างสุดของเส้นโค้งหรือเว้นวรรคที่ต่อท้ายบนบรรทัดใด ๆ
.map(&:rstrip)
ต้องมีการเพิ่มเพื่อตอบสนองความต้องการ "ไม่มีช่องว่างต่อท้าย"