Một số tam giác là một số có thể được thể hiện dưới dạng tổng của các số nguyên dương liên tiếp, bắt đầu từ 1. Họ cũng có thể được biểu diễn bằng công thức n(n + 1) / 2
, nơi n
là một số nguyên dương.
Đối tác số hóa của một số được tính theo cách sau:
- Chia một số thành một mảng các chữ số của nó, vd
613 => [6 1 3]
- Đối với mỗi số trong mảng, tính
n
số tam giác thứ;[6 1 3] => [21 1 6]
- Tính tổng mảng kết quả;
[21 1 6] => 28
Nhiệm vụ của bạn là, được đưa ra một số nguyên n
, lặp đi lặp lại tính toán n
đối số của số, cho đến khi kết quả bằng 1, sau đó xuất tất cả các giá trị đã được tính toán. Bạn có thể xuất các giá trị theo bất kỳ thứ tự nào và với tùy chọn bao gồm số gốc ở đầu mảng. Đây là một môn đánh gôn để mã ngắn nhất sẽ thắng.
Các trường hợp thử nghiệm
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
và có n
chữ số. Giá trị lớn nhất đối digitangular của nó có thể có là 45n
, vì vậy digi-△(x) ≤ 45n < 45(1+log_10(x))
, và cho x > 141
, chúng tôi có 45(1+log_10(x)) < x
, vì thế digi-△(x) ≤ x-1
cho x > 141
, và một khi chúng ta vượt qua 141
giới hạn, tốt, chúng tôi Brute Force chứng minh qua các chương trình.