จำนวนสามเหลี่ยมเป็นตัวเลขที่เป็นผลรวมของที่n
หมายเลขธรรมชาติตั้งแต่ 1 n
ถึง ยกตัวอย่าง1 + 2 + 3 + 4 = 10
เพื่อให้10
เป็นตัวเลขที่เป็นรูปสามเหลี่ยม
กำหนดจำนวนเต็มบวก ( 0 < n <= 10000
) เป็นอินพุต (สามารถนำมาเป็นจำนวนเต็มหรือเป็นสตริง) คืนค่าตัวเลขสามเหลี่ยมที่เล็กที่สุดที่เป็นไปได้ที่สามารถเพิ่มลงในอินพุตเพื่อสร้างหมายเลขสามเหลี่ยมอื่น
ตัวอย่างเช่นการป้อนข้อมูลที่26
กำหนดการเพิ่ม10
ผลลัพธ์36
ซึ่งเป็นตัวเลขสามเหลี่ยม ไม่มีตัวเลขสามเหลี่ยมขนาดเล็กกว่า10
ที่สามารถเพิ่มลงใน26
การสร้างหมายเลขสามเหลี่ยมอื่นดังนั้น10
ผลลัพธ์ที่ถูกต้องในกรณีนี้คือ
0
เป็นตัวเลขสามเหลี่ยมดังนั้นหากอินพุตเป็นตัวเลขสามเหลี่ยมตัวเองผลลัพธ์ควรเป็น 0
Testcases
กรณีที่ได้รับในรูปแบบ input -> output (resulting triangular number)
0 -> 0 (0)
4 -> 6 (10)
5 -> 1 (6)
7 -> 3 (10)
8 -> 28 (36)
10 -> 0 (10)
24 -> 21 (45)
25 -> 3 (28)
26 -> 10 (36)
34 -> 21 (55)
10000 -> 153 (10153)
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟที่มีจำนวนน้อยที่สุดในแต่ละภาษาที่ชนะ!
26 -> 2
เหรอ