บางครั้งเมื่อฉันเบื่อจริง ๆ (เบื่อจริง ๆ ) ฉันชอบวาดส่วนของเส้นและวาดจุดบน
ก่อนอื่นฉันวาดส่วนของเส้นตรงในขนาดที่กำหนดซึ่งเท่ากับ 2 ^ N สำหรับค่าบางส่วนของ N เส้นจะถูกแทนด้วยชุด.อักขระ
................
จากนั้นฉันวางแผนจุดที่ด้านซ้าย คะแนนจะถูกแสดงโดยXตัวละคร
X...............
จากนั้นฉันก็ทำตามรูปแบบ เริ่มต้นที่จุดที่พล็อตล่าสุด (ซึ่งฉันจะเรียกว่า A) ฉันจะไปยังจุดที่พล็อตถัดไป (B) บนบรรทัด (ล้อมรอบตามความจำเป็น) จากนั้นฉันไปยังจุดที่วางแผนต่อไปในบรรทัด (C) จากนั้นฉันพล็อตจุดใหม่แบบครึ่งทางระหว่างจุดที่สามนี้ (C) และจุดที่วางแผนไว้แล้วถัดไป (D)
เมื่อใดก็ตามที่คุณล้อมรอบเส้น "กลาง" จะถูกกำหนดในลักษณะการห่อ จุดที่วางแผนใหม่นั้นอยู่ทางด้านขวาของ C เสมอ
สมมุติว่าบรรทัดต่อไปนี้เป็นบรรทัดปัจจุบันของฉัน นี่คือวิธีที่ฉันจะลงจุดสองจุดถัดไป สำหรับตัวอย่างนี้ฉันจะติดป้ายแต่ละจุดสำคัญด้วยตัวอักษร
X...A...X.X...X.
^
X...A...B.X...X.
^
X...A...B.C...X.
^
X...A...B.C...D.
^
X...X...X.X.A.X.
^
X...X...X.X.A.B.
^
C...X...X.X.A.B.
^
C...D...X.X.A.B.
^
X.A.X...X.X.X.X.
^
กลับไปที่ตัวอย่างก่อนหน้านี้จุดต่อไปจะได้รับการวางแผนในช่วงกลางของบรรทัด
X.......X.......
นี่อาจเป็นกรณีพิเศษเล็กน้อย: การก้าวไปยังจุดถัดไปทำให้คุณไม่ต้องสนใจ จุดกึ่งกลางที่มีประโยชน์เพียงอย่างเดียวคือจุดครึ่งวงกลม "วงจร" (จุดกึ่งกลางของบรรทัด) เมื่อเทียบกับการวางแผนจุดบนตัวมันเอง
ด้านล่างเป็นชุดของจุดที่ฉันจะพล็อตในบรรทัดจากที่นี่ถึงจุดสิ้นสุด
X.......X.......
X.......X...X...
X.......X.X.X...
X...X...X.X.X...
X...X...X.XXX...
X.X.X...X.XXX...
X.X.X...XXXXX...
ไม่มีที่ว่างในการพล็อตจุดถัดไปอีกต่อไปเนื่องจากมันจะต้องถูก wedged ระหว่างจุดสองจุดที่อยู่ติดกันดังนั้นฉันถึงความลึกสูงสุดสำหรับค่าที่กำหนดเป็น N = 4 บรรทัดสุดท้ายในรายการด้านบนคือ "สมบูรณ์ ."
ความท้าทาย
เป้าหมายคือการเขียนฟังก์ชั่นโปรแกรม / ชื่อที่สั้นที่สุดที่จะพิมพ์ / คืนบรรทัดที่สมบูรณ์สำหรับค่าที่กำหนดของ N ด้านบนแสดง N = 4
อินพุต
ข้อมูลที่ป้อนจะเป็นจำนวนเต็มไม่ใช่ค่าลบเดียวความยาวของบรรทัดที่สร้างจะเป็น 2 ^ N
เอาท์พุต
เอาต์พุตจะเป็นบรรทัดความยาวที่เสร็จสมบูรณ์ 2 ^ N, จัดรูปแบบโดย.และXอักขระ ขึ้นบรรทัดใหม่ไม่สำคัญ
ตัวอย่าง I / O
0
X
1
XX
2
X.XX
3
X.X.XXX.
4
X.X.X...XXXXX...
5
X.X.X...X...X...X.XXX.XXX.......
(c%b+b)%b? คุณคาดหวังว่าcจะเป็นเชิงลบหรือไม่?