Năm 1949, Nhà toán học người Ấn D.R.Kaprekar đã tìm ra một lớp những con số được gọi là số tự thân. Với bất kỳ một số nguyên dương \(n\), định nghĩa hàm \(d(n)\) là hàm tính tổng số \(n\) và các chữ số của nó. Ví dụ: \(d(75) = 75 + 7 + 5 = 87\). Với bất kỳ con số \(n\) nào cũng có thể sinh ra chuỗi vô hạn \(n,d(n), d(d(n)), d(d(d(n))),...\) Ví dụ: bắt đầu từ số \(33\) có thể sinh ra chuỗi số: \(33,39,51,57,69,84,96,111...\)
Một số \(n\) được gọi là bộ sinh của \(d(n)\). Trong chuỗi trên, \(33\) được gọi là bộ sinh của \(39\). Có vài con số có nhiều hơn \(1\) bộ sinh như con số \(101\) có \(2\) bộ sinh là số \(91\) và \(100\). Có những con số không có bộ sinh nào cả được gọi là số tự thân.
Có \(13\) con số tự thân nhỏ hơn \(100\): \(1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 97\)
Yêu cầu
Hãy viết chương trình in ra tất cả số tự thân bé hơn hoặc bằng \(1000000\) theo thứ tự tăng dần, mỗi số in trên một dòng
Nhận xét