รับจำนวนเต็มn , แยกย่อยเป็นผลรวมของตัวเลขสามเหลี่ยมสูงสุด (โดยที่T mหมายถึงตัวเลขสามเหลี่ยมที่สามmหรือผลรวมของจำนวนเต็มจาก 1 ถึงm ) ดังนี้:
ในขณะที่n> 0 ,
พบที่ใหญ่ที่สุดที่เป็นไปได้จำนวนสามเหลี่ยมT เมตรเช่นที่T เมตร ≤ n
ผนวกเมตรเพื่อเป็นตัวแทนสามเหลี่ยมการสลายตัวของn
ลบT เมตรจากn
ตัวอย่างเช่นอินพุต44จะให้ผลลัพธ์ของ8311เนื่องจาก:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36 <44 แต่ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45> 44
- ตัวเลขแรกคือ8 ; ลบ 36 จาก 44 เพื่อรับ8เหลือ
1 + 2 + 3 = 6 <8 แต่ 1 + 2 + 3 + 4 = 10> 8
- สองหลักเป็น3 ; ลบ 6 จาก 8 เพื่อให้เหลือ2
1 <2 แต่ 1 + 2 = 3> 2
- ตัวเลขที่สามและสี่จะต้องเป็น1และ1
ใช้ตัวเลข 1 ถึง 9 เพื่อแสดงตัวเลขสามเหลี่ยม 9 ตัวแรกจากนั้นใช้ตัวอักษร a ถึง z (สามารถเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก) เพื่อแทนตัวเลขสามเหลี่ยมที่ 10 ถึง 35 คุณจะไม่ได้รับข้อมูลที่จำเป็นสำหรับการใช้ "ตัวเลข" ที่ใหญ่กว่า
ขอบเขตของอินพุตคือ1 ≤ n <666และจะเป็นจำนวนเต็มเสมอ
อินพุตและเอาต์พุตที่เป็นไปได้ทั้งหมดและบางกรณีทดสอบที่เลือก (แสดงเป็นอินพุตจากนั้นเอาต์พุต):
1 1
2 11
3 2
4 21
5 211
6 3
100 d32
230 k5211
435 t
665 z731
ไม่จำเป็นต้องใช้เอาต์พุต∞สำหรับอินพุตของ-1/12 :)