给定一个整数n,将其分解为最大三角数之和(其中T m表示第m个三角数,或从1到m的整数之和),如下所示:
当n> 0时,
找到最大可能三角形数Ť 米使得Ť 米 ≤Ñ。
将m附加到n的三角分解表示中。
从n中减去T m。
例如,输入44将产生8311的输出,因为:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36 <44,但1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45> 44。
- 第一个数字是8 ; 从44中减去36,剩下8。
1 + 2 + 3 = 6 <8,但1 + 2 + 3 + 4 = 10> 8。
- 第二位是3 ; 从8中减去6得到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的输入,不需要输出∞。:)