สำหรับจำนวนเต็มที่n
พอใจn > 0
เขียนค่าเป็นเส้นทางจากมากไปหาน้อยขึ้นอยู่กับการเป็นตัวแทนไบนารี
กฎระเบียบ
- บิตชุดแรก (สำคัญที่สุด) จะอยู่ที่มุมซ้ายบนเสมอ
- เมื่อตั้งค่าบิตถัดไป (a
1
) ให้วาดอักขระ ("เติม") บนบรรทัดถัดไปในคอลัมน์เดียวกันกับอักขระก่อนหน้าที่วาด ลองใช้ช่องว่าง ("ว่างเปล่า") เพื่อเติม แต่อักขระใด ๆ ก็ตามที่จะทำตราบใดที่มันยังคงเหมือนเดิม - เมื่อบิตถัดไปไม่ได้ถูกตั้งค่า (a
0
) ให้วาดอักขระ ("เติม") บนบรรทัดเดียวกันทางด้านขวาของอักขระก่อนหน้าที่วาดไว้ทันที - รหัสของคุณจะต้องรองรับตัวเลขอย่างน้อย 20 บิตที่สำคัญ
- เขียนโปรแกรมเต็มฟังก์ชั่นแลมบ์ดา ฯลฯ แต่ไม่มีข้อมูลโค้ด
- ไม่อนุญาตให้มีช่องว่างนำหน้า (หรือ "ว่าง" ถ่าน) / บรรทัด
- จำนวนช่องว่างต่อท้ายใด ๆ (หรือ "ช่องว่าง" ถ่าน) / บรรทัดที่อนุญาต
- ยอมรับอินพุต 1D ทุกชนิด: หมายเลข, สตริง, อาเรย์ของบูลีน, ฯลฯ เก็บลำดับของบิตโดยไม่แตะต้อง
- สามารถรับเอาต์พุต 2D visual ชนิดใดก็ได้: ใน stdout, สตริง (ด้วยค่าที่แตกต่างสองค่าใด ๆ ที่แสดงว่า "เต็ม" และ "ว่างเปล่า") คุณสามารถส่งออกเมทริกซ์ได้หากคุณต้องการ รายการตัวเลขดูเหมือนยากที่จะปรับให้เข้ากับกฎ "ไม่มีส่วนหัว" แต่ฉันเปิดดูได้ถ้าคุณหาวิธีใช้ หมายเหตุ: หากคุณเลือกที่จะพิมพ์หรือส่งคืนสตริงอักขระที่ใช้ต้องเป็นอักขระ ASCII ในช่วง codepoints [32-126]
- ช่องโหว่มาตรฐานถูกแบน
- นี่คือ codegolf เพื่อให้ได้รหัสที่สั้นที่สุดชนะ
ตัวอย่าง
อินพุต: 1
*
อินพุต: 2
**
อินพุต: 3
*
*
อินพุต: 4
***
อินพุต: 5
**
*
อินพุต: 6
*
**
อินพุต: 7
*
*
*
อินพุต: 25
*
***
*
อินพุต: 699050
**
**
**
**
**
**
**
**
**
**
อินพุต: 1047552
*
*
*
*
*
*
*
*
*
***********
อินพุต: 525311
**********
*
*
*
*
*
*
*
*
*
*
[1,0,1]
ใช่
9
เป็นฉันต้องการการป้อนข้อมูลของฉันจะ1001
0011
ไม่เป็นไร?
1
แรกเป็นอันดับแรกเป็นส่วนหนึ่งของความท้าทายและ (อีกครั้ง) การเคลื่อนย้ายบิตนั้นจะทำให้ความท้าทายเป็นเรื่องเล็กน้อยดังนั้นฉันจึงกลัวว่า คุณสามารถลบออกจากอินพุตของคุณในโปรแกรมได้