[Phú Thọ - PreTS10 - 2026] Bài 3: Các số Kaprekar
Xem dạng PDF
Gửi bài giải
Điểm:
30,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Một số nguyên dương ~n~ được gọi là số Kaprekar nếu thỏa mãn điều kiện sau:
- Bình phương ~n~ thu được một số có tối đa ~2d~ chữ số, trong đó ~d~ là số chữ số của ~n~.
- Chia số bình phương thành hai phần: phần bên phải có đúng ~d~ chữ số, phần bên trái là phần còn lại (có thể rỗng).
- Cộng hai phần này lại, nếu kết quả bằng chính ~n~ thì ~n~ là số Kaprekar.
Ví dụ:
- ~9^2 = 81~, chia thành 8 và 1, tổng ~8 + 1 = 9 \to 9~ là số Kaprekar.
- ~45^2 = 2025~, chia thành 20 và 25, tổng ~20 + 25 = 45 \to 45~ là số Kaprekar.
Yêu cầu: cho hai số nguyên ~L, R (L \le R)~, liệt kê tất cả các số Kaprekar trong đoạn ~[L, R]~.
Input
Một dòng duy nhất chứa hai số nguyên ~L, R~ (~1 \le L \le R \le 10^9~).
Output
- Dòng 1: số nguyên ~k~ là số số Kaprekar nằm trong đoạn ~[L, R]~.
- Dòng 2: ~k~ số nguyên là các số Kaprekar nằm trong đoạn ~[L, R]~, theo thứ tự tăng.
Sample Input 1
1 100
Sample Output 1
5
1 9 45 55 99
Sample Input 2
46 54
Sample Output 2
0
Subtasks
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 50% | ~R \le 10^3~ |
| 2 | 50% | Không có ràng buộc bổ sung |
Bình luận