ลักษณะ
มีความท้าทายเล็กน้อยเกี่ยวกับตัวเลขเหล่านี้มาก่อนและฉันหวังว่าสิ่งนี้ไม่ได้อยู่ในหมู่พวกเขา
n TH จำนวนสามเหลี่ยมเท่ากับผลรวมของตัวเลขธรรมชาติทั้งหมดขึ้นอยู่กับn , สิ่งที่ง่าย มีหน้าวิกิพีเดียและรายการที่ OEISสำหรับผู้ที่ต้องการแจ้งตัวเองต่อไป
ตอนนี้เกาส์พบว่าทุกจำนวนธรรมชาติอาจจะแสดงเป็นผลรวมของสามตัวเลขสามเหลี่ยม (เหล่านี้รวมถึง0
) 0 + 1 + 1 = 2
และมันเป็นเรื่องปกติที่จะมีจำนวนหนึ่งมากกว่าหนึ่งครั้งเช่น
ท้าทาย
งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นกำหนดจำนวนธรรมชาติ (รวมถึง0
) พิมพ์ตัวเลขสามเหลี่ยมสามที่รวมถึงการโต้แย้ง คุณอาจพิมพ์ตัวเลขที่คั่นด้วยช่องว่างเป็นอาร์เรย์หรือโดยวิธีอื่นที่คุณชอบ อย่างไรก็ตามห้ามมิให้ใช้ฟังก์ชันบิวด์อินใด ๆ เพื่อรับอาร์เรย์ช่วงหรือรูปแบบการรวบรวมอื่น ๆ ที่มีรายการหมายเลขรูปสามเหลี่ยมโดยตรง (ตัวอย่างเช่นอะตอมเดี่ยวที่ให้ช่วง)
กรณีทดสอบ
9 -> 6 + 3 + 0 or 3 + 3 + 3
12 -> 6 + 6 + 0 or 6 + 3 + 3 or 10 + 1 + 1
13 -> 6 + 6 + 1
1 -> 1 + 0 + 0
0 -> 0 + 0 + 0
หมายเหตุ: หากมีชุดค่าผสมที่เป็นไปได้มากกว่าหนึ่งชุดคุณสามารถพิมพ์ชุดค่าผสมใด ๆ หรือทั้งหมด แต่คุณต้องพิมพ์ชุดค่าผสมใด ๆ เพียงครั้งเดียวโดยกำจัดชุดค่าผสมทั้งหมดที่เป็นผลมาจากการจัดชุดค่าผสมอื่น ๆ ฉันขอขอบคุณลิงก์ทดลองและคำอธิบายฉันชอบที่จะเห็นว่าคุณแก้ปัญหาอย่างไร)
นี่คือรหัสกอล์ฟดังนั้นจึงมีช่องโหว่มาตรฐาน อาจคำตอบที่สั้นที่สุดในไบต์ชนะ!
a
จะไม่เป็นหมายเลขสามเหลี่ยมเสมอ
n
และกลับรายการแรกn
หมายเลขสามเหลี่ยมจะได้รับอนุญาต? ที่รู้สึกค่อนข้างกำหนดเป้าหมายกับภาษาเฉพาะบางอย่างแม้ว่าฉันไม่รู้ว่า