Um número triangular é um número que pode ser expresso como a soma dos números inteiros positivos consecutivos, iniciando em 1. Eles também podem ser expressos com a fórmula n(n + 1) / 2, onde nestá um número inteiro positivo.
A contraparte digitangular de um número é calculada da seguinte maneira:
- Divida um número em uma matriz de seus dígitos, por exemplo
613 => [6 1 3] - Para cada número na matriz, calcule o
nnúmero triangular;[6 1 3] => [21 1 6] - Soma a matriz resultante;
[21 1 6] => 28
Sua tarefa é, dado um número inteiro n, calcular repetidamente na contraparte digital retangular, até que o resultado seja igual a 1, em seguida, gerar todos os valores que foram calculados. Você pode emitir os valores em qualquer ordem e com uma inclusão opcional do número original no início da matriz. Este é um código de golfe, portanto o código mais curto vence.
Casos de teste
23 => 9 45 25 18 37 34 16 22 6 21 4 10 1
72 => 31 7 28 39 51 16 22 6 21 4 10 1
55 => 30 6 21 4 10 1
78 => 64 31 7 28 39 51 16 22 6 21 4 10 1
613 => 28 39 51 16 22 6 21 4 10 1
8392 => 90 45 25 18 37 34 16 22 6 21 4 10 1
11111 => 5 15 16 22 6 21 4 10 1
8592025 => 117 30 6 21 4 10 1
999999999 => 405 25 18 37 34 16 22 6 21 4 10 1
141e tenha ndígitos. O valor máximo que sua contraparte digitangular pode ter é 45n, então digi-△(x) ≤ 45n < 45(1+log_10(x)), e para x > 141, temos 45(1+log_10(x)) < x, portanto , digi-△(x) ≤ x-1para x > 141e, uma vez ultrapassado o 141limite, bem, provamos a força bruta por meio de programas.