Dado um número inteiro n , decompor-se-a em uma soma de números triangulares máxima (onde T m representa o m th número triangular, ou a soma dos números inteiros de 1 a m ) como se segue:
enquanto n> 0 ,
Encontre o maior número triangular possível T m de modo que T m ≤ n .
anexa m à representação de decomposição triangular de n .
subtrair T m de n .
Por exemplo, uma entrada de 44 produziria uma saída de 8311 , porque:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36 <44, mas 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45> 44.
- o primeiro dígito é 8 ; subtraia 36 de 44 para sobrar 8 .
1 + 2 + 3 = 6 <8, mas 1 + 2 + 3 + 4 = 10> 8.
- o segundo dígito é 3 ; subtraia 6 de 8 para sobrar 2 .
1 <2, mas 1 + 2 = 3> 2.
- o terceiro e o quarto dígitos devem ser 1 e 1 .
Use os dígitos de 1 a 9 para representar os 9 primeiros números triangulares e, em seguida, use as letras de a a z (podem ser maiúsculas ou minúsculas) para representar o 10º a 35º número triangular. Você nunca receberá uma entrada que exigirá o uso de um "dígito" maior.
Os limites na entrada são 1 ≤ n <666 e sempre será um número inteiro.
Todas as entradas e saídas possíveis e alguns casos de teste selecionados (listados como entrada e saída):
1 1
2 11
3 2
4 21
5 211
6 3
100 d32
230 k5211
435 t
665 z731
Uma saída de ∞ para uma entrada de -1/12 não é necessária. :)