นี่เป็นเวอร์ชัน ASCII ของการท้าทายนี้ โพสต์เริ่มต้นถูกคั่นตามคำขอโดยMartin Ender
บทนำ
คล้ายกับ Fibonacci Sequence, Padovan Sequence ( OEIS A000931 ) เป็นลำดับของตัวเลขที่สร้างขึ้นโดยการเพิ่มคำก่อนหน้าในลำดับ ค่าเริ่มต้นถูกกำหนดเป็น:
P(0) = P(1) = P(2) = 1
ข้อกำหนดที่ 1, ที่ 1 และที่ 2 มีทั้งหมด 1 ความสัมพันธ์ที่เกิดซ้ำแสดงอยู่ด้านล่าง:
P(n) = P(n - 2) + P(n - 3)
ดังนั้นจึงให้ลำดับต่อไปนี้:
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, ...
การใช้ตัวเลขเหล่านี้เป็นความยาวด้านข้างของรูปสามเหลี่ยมด้านเท่าให้ผลเป็นเกลียวที่ดีเมื่อคุณวางพวกมันทั้งหมดเข้าด้วยกันคล้ายกับ Fibonacci Spiral:
เอื้อเฟื้อภาพของWikipedia
งาน
งานของคุณคือการเขียนโปรแกรมที่สร้างเกลียวนี้ด้วยศิลปะ ASCII พร้อมอินพุตที่สอดคล้องกับคำศัพท์ใด เนื่องจากสามเหลี่ยมที่มีความยาวด้าน 1 (1 ตัวอักษร) เป็นไปไม่ได้ที่จะเป็นตัวแทนอย่างดีใน ASCII ความยาวด้านได้ถูกขยายด้วยปัจจัย 2 ดังนั้นสามเหลี่ยมของความยาวด้าน 1 จึงเป็นตัวแทนดังนี้:
/\
/__\
ตัวอย่างเช่นถ้าอินพุตเท่ากับ 5 (เทอมที่ 5) เอาต์พุตควรเป็น:
/\
/ \
/ \
/______\
\ /\
\ /__\
\ /\ /
\/__\/
5 เทอมแรกคือ 1, 1, 1, 2, 2 ดังนั้นสามเหลี่ยมจึงมีด้านยาว 2, 2, 2, 4, 4 อันเนื่องมาจากการขยาย อีกตัวอย่างหนึ่งสำหรับอินพุต 8:
__________
/\ /\
/ \ / \
/ \ / \
/______\ / \
\ /\ / \
\ /__\/ \
\ /\ / \
\/__\/______________\
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\/
กฎระเบียบ
- คุณต้องพิมพ์ผลลัพธ์และการป้อนข้อมูลจะต้องเป็นจำนวนเต็มที่สอดคล้องกับจำนวนคำ
- อนุญาตการขึ้นบรรทัดใหม่และนำขึ้นบรรทัดใหม่การเว้นวรรคต่อท้ายหลังจากบรรทัดได้รับอนุญาตด้วย
- การส่งของคุณจะต้องสามารถจัดการได้อย่างน้อยสูงสุดเทอมที่ 10 (9)
- การส่งของคุณจะต้องเป็นโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบที่รับอินพุตและพิมพ์ผลลัพธ์
- อนุญาตให้มีการหมุนของเอาต์พุตในทวีคูณ 60 องศา แต่ขนาดของสามเหลี่ยมจะต้องคงเดิมพร้อมกับการแทนค่า
- อนุญาตให้ใช้ทวนเข็มนาฬิกา
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
คุณอาจสันนิษฐานว่าอินพุตนั้น> 0 และรูปแบบการป้อนข้อมูลที่ถูกต้องจะได้รับ
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ สวัสดีปีใหม่ทุกคน!