เขียนโปรแกรม (หรือฟังก์ชั่น) ที่ใช้จำนวนเต็มบวก
หากอินพุตคือ1
ให้พิมพ์ (หรือส่งคืน) เพชรสองเม็ดที่อยู่ติดกันแบบเรียงต่อกันแต่ละอันมีความยาวด้านข้างเท่ากับ 1 ทับ:
/\/\
\/\/
สำหรับทุกอินพุตที่N
มากกว่า 1 ให้ดูที่เอาต์พุตสำหรับN-1
และสำหรับแต่ละคู่ของเพชรข้างเคียงใส่เพชรใหม่ในระหว่างที่พวกเขามีความยาวด้านคือผลรวมของความยาวด้านของทั้งสองประเทศเพื่อนบ้าน พิมพ์ (หรือส่งคืน) รูปแบบเพชรใหม่นี้
ดังนั้นเมื่อ2
มีการป้อนข้อมูลเราจะดูที่เอาท์พุท1
และจะเห็นว่ามีเพชรข้างเคียงสองอันที่มีความยาวด้าน 1 ดังนั้นเราจึงแทรกความยาวด้าน 2 (1 + 1) เพชรไว้ระหว่าง:
/\
/\/ \/\
\/\ /\/
\/
สำหรับอินพุต3
เราดูที่เอาต์พุต2
และเพิ่มสองเพชรที่มีความยาวด้าน 3 (1 + 2 และ 2 + 1) ระหว่างสองคู่ของเพชรข้างเคียง:
/\ /\
/ \ /\ / \
/\/ \/ \/ \/\
\/\ /\ /\ /\/
\ / \/ \ /
\/ \/
ดำเนินการตามรูปแบบต่อไปผลลัพธ์สำหรับ4
:
/\ /\
/\ / \ / \ /\
/ \ /\ / \ / \ /\ / \
/ \ / \ / \ /\ / \ / \ / \
/\/ \/ \/ \/ \/ \/ \/ \/\
\/\ /\ /\ /\ /\ /\ /\ /\/
\ / \ / \ / \/ \ / \ / \ /
\ / \/ \ / \ / \/ \ /
\/ \ / \ / \/
\/ \/
และอื่น ๆ
เอาต์พุตของคุณอาจมีช่องว่างต่อท้ายบนบรรทัดใด ๆ แต่ขึ้นบรรทัดใหม่ไม่เกินหนึ่งบรรทัดเท่านั้น (และไม่มีการขึ้นบรรทัดใหม่)
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ