Trong bài toán này, chúng ta quan tâm đến tổng các ước số chặt của một số tự nhiên. Các ước số chặt của một số tự nhiên \(N\) là các số \(K\) nhỏ hơn hẳn \(N\), sao cho \(N\) chia hết cho \(K\). Ví dụ, tổng của các ước số của 18 là:
\(S(18) = 1 + 2 + 3 + 6 + 9 = 21\)
Một số hoàn hảo \(N > 0\) là số mà tổng các ước số chặt \(S(N)\) của chính nó bằng \(N\). Ví dụ số 6 và 28 là số hoàn hảo:
\(S(6) = 1 + 2 + 3 = 6\),
\(S(28) = 1 + 2 + 4 + 7 + 14 = 28\)
Thực chất các số hoàn hảo rất số hiếm. Vì vậy ở đây chúng ta quan tâm đến các số gần hoàn hảo, nghĩa là tổng các ước chặt của \(N\) không quá xa \(N\).
Yêu cầu: Cho trước hai số \(L\) và \(D\) (\(2 \le L \le 10^6, 0 \le D \le 10^6\)) hãy tìm số các số nguyên dương nhỏ hơn \(L\) sao cho độ chênh lệch giữa nó và tổng các ước chặt của nó không vượt quá \(D\). Ví dụ, với \(L = 10, D = 1\), ta tìm được 5 số thỏa mãn yêu cầu: 1, 2, 4, 6 và 8.
Input
- Gồm 2 dòng, dòng đầu tiên chứa số nguyên \(L\), dòng tiếp theo chứa số nguyên \(D\).
Output
- Ghi ra một số duy nhất là số các số tìm được.
Example
Test 1
Input
10
1
Output
5
Bình luận
Bài này sao tui chạy thử đúng hết mà sao up thì bộ output lại khác vậy?
cho xem code phát
xà lơ