ท้าทาย
เราทุกคนรู้เกี่ยวกับต้นคริสต์มาสปกติ - แต่ต้นคริสต์มาสกลับหัวกลับหาง ! นี่เป็นความท้าทายในรูปแบบคริสมาสต์ที่ค่อนข้างง่าย วัตถุประสงค์ของความท้าทายนี้คือทำให้ฉันเป็นต้นคริสต์มาส ASCII คว่ำ นี่คือกฎสำหรับการท้าทายนี้:
- ยอมรับจำนวนเต็มคี่และบวก คุณสามารถสันนิษฐานได้ว่ามันก็จะอยู่ระหว่างและ
7
51
ฐานของต้นไม้จะทำจากตัวละคร:
___ \ / |
ด้านบนของต้นไม้ (ดาว)
*
จะถูกสร้างขึ้นจากเดียวแต่ละบรรทัดของต้นไม้จะถูกสร้างโดยใช้รูปแบบ
<?>
ที่?
มีจำนวน-
s ใด ๆ ตัวอย่างเช่นถ้าทำเส้นความยาวเส้นที่ควรจะเป็น5
<--->
หรือถ้าสร้างเส้นยาว8
ก็ควรเป็น<------>
เส้นนี่คือวิธีการสร้างร่างกายของต้นไม้:
ใช้จำนวนคี่ที่
n
ได้รับเป็นอินพุตและสร้างบรรทัดของต้นไม้ที่มีความยาวลบ
4
ออกจากn
และสร้างเส้นของต้นไม้ที่มีความยาวลบ
2
ออกจากn
และสร้างเส้นของต้นไม้ที่มีความยาวปรับตัวลดลงโดย
n
2
หลังจากนั้นเว้นแต่n
เท่ากับ5
กลับไปที่ขั้นตอนที่ 2
ฐาน (ดูขั้นตอนที่ 2) ดาว (ดูขั้นตอนที่ 3) และแต่ละบรรทัดของต้นไม้ (ดูขั้นตอนที่ 4 และ 5) ควรอยู่ตรงกลางโดยใช้การป้อนตัวเลขคี่ดั้งเดิม (ดูขั้นตอนที่ 1) เป็นค่าสูงสุด ความกว้าง
ตัวอย่าง / กรณีทดสอบ
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
กฎระเบียบ
- ช่องโหว่ตามมาตรฐาน
- นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ!
repeat the above steps until the odd number minus 2 equals 5
- ในการป้อนข้อมูลครั้งแรกจำนวนคี่คือ 7 และ 7-2 = 5 ดังนั้นต้นไม้ควรจะจบลงทันที (ฉันรู้ว่าคุณหมายถึงอะไร แต่มันต้องการการใช้
7
เข้าต่ำสุดที่คุณจะเป็นครั้งแรกสร้างสามบรรทัดต้นไม้ (ย่อยขั้นตอน .1.1, .1.2, .1.3) แล้วลบจากเลขคี่และการทดสอบถ้ามันเท่ากับ2
5
คำแนะนำในการตรวจสอบว่า "เลขคี่ลบ 2 เท่ากับ 5" เป็นที่สิ้นสุดหรือไม่ควรดำเนินการสามขั้นตอนอื่นก่อน แต่เพื่อตอบความคิดเห็นแรกของคุณนั่นน่าจะดี
7
เป็นอินพุตหรือถ้าคุณสามารถยอมรับ4
ได้เช่นเดียวกับในเลขคี่ที่สี่ (หรือ3
ถ้าเป็นดัชนี 0)