Angka segitiga adalah angka yang dapat dinyatakan sebagai jumlah dari bilangan bulat positif berurutan, mulai dari 1. Mereka juga dapat dinyatakan dengan rumus n(n + 1) / 2
, di mana n
ada bilangan bulat positif.
Pasangan digit angka dihitung dengan cara berikut:
- Membagi angka menjadi array dari digit misalnya
613 => [6 1 3]
- Untuk setiap angka dalam array, hitung angka
n
segitiga th;[6 1 3] => [21 1 6]
- Jumlah array yang dihasilkan;
[21 1 6] => 28
Tugas Anda adalah, diberi bilangan bulat n
, berulang kali menghitung n
mitra digitangular, hingga hasilnya sama dengan 1, lalu menampilkan semua nilai yang dihitung. Anda dapat menampilkan nilai dalam urutan apa pun, dan dengan penyertaan opsional dari nomor asli pada awal array. Ini adalah kode-golf sehingga kode terpendek menang.
Uji kasus
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
141
dan memiliki n
angka. Nilai maksimum yang dapat dimiliki oleh mitra digitangular-nya adalah 45n
, jadi digi-△(x) ≤ 45n < 45(1+log_10(x))
, dan untuk x > 141
, kita miliki 45(1+log_10(x)) < x
, maka digi-△(x) ≤ x-1
untuk x > 141
, dan begitu kita melewati 141
batas, yah, kita membuktikan secara brutal melalui program.