Số Không Giảm
Xem dạng PDFĐộ khó: Dễ (1/4 điểm)
📖 Bài giải chi tiết: 👉 Bấm vào đây để xem lời giải cụ thể của bài này trên blog
⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới bấm vào xem bài giải nhé!
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Một số gọi là số không giảm nếu các chữ số từ trái qua phải tạo thành dãy không giảm (tức là không có chữ số nào phía sau nhỏ hơn chữ số ngay trước nó). Viết chương trình liệt kê các số không giảm có ~N~ chữ số ~(1 < N < 7)~.
Dữ liệu vào
- Dòng đầu ghi số bộ test.
- Mỗi bộ test ghi số ~N~ (trên một dòng).
Kết quả
- Với mỗi bộ test, ghi ra lần lượt (theo thứ tự tăng dần) các số không giảm có ~N~ chữ số, các số cách nhau một khoảng trống.
- Hết một bộ test thì xuống dòng.
Giới hạn
- ~1 < N < 7~; số bộ test không vượt quá ~500~.
- Thời gian: 1 giây. Bộ nhớ: 64 MB.
Sample Input 1
1
2
Sample Output 1
11 12 13 14 15 16 17 18 19 22 23 24 25 26 27 28 29 33 34 35 36 37 38 39 44 45 46 47 48 49 55 56 57 58 59 66 67 68 69 77 78 79 88 89 99
Giải thích
Với ~N = 2~ ta cần mọi số có 2 chữ số ~\overline{ab}~ mà ~a \le b~. Chữ số đầu ~a~ không thể là 0, mà ~b \ge a~ nên mọi chữ số đều từ 1 đến 9: dãy là 11, 12, …, 19, 22, …, 29, …, 99 – tổng cộng 45 số. Các số như 10, 20, 21, 31… bị loại vì chữ số sau nhỏ hơn chữ số trước. Kết quả của một bộ test được viết trên một dòng.
Bình luận