Đề số 12 - Ôn thi HSG Tin học THCS
BỘ ĐỀ ÔN THI HỌC SINH GIỎI TIN HỌC THCS Bumbii Academy
ĐỀ SỐ 12
Thời gian làm bài: 150 phút
4 bài, tổng 20 điểm
Tổng quan đề thi
Phần tiêu đề “Tổng quan đề thi”| Bài | Tên bài | File chương trình | File dữ liệu vào | File kết quả | Điểm |
|---|---|---|---|---|---|
| 1 | Số Armstrong | ARMSTRONG.* | ARMSTRONG.INP | ARMSTRONG.OUT | 3 |
| 2 | Sắp xếp chẵn lẻ | CHANLE.* | CHANLE.INP | CHANLE.OUT | 5 |
| 3 | Số đối xứng kế tiếp | DOIXUNG.* | DOIXUNG.INP | DOIXUNG.OUT | 6 |
| 4 | Đếm số đối xứng | DEMDX.* | DEMDX.INP | DEMDX.OUT | 6 |
Dấu * được thay bằng py hoặc cpp tùy theo ngôn ngữ lập trình sử dụng.
Bài 1. Số Armstrong (3 điểm)
Phần tiêu đề “Bài 1. Số Armstrong (3 điểm)”Số tự nhiên x có k chữ số được gọi là số Armstrong nếu x bằng tổng các lũy thừa bậc k của các chữ số của nó. Ví dụ 153 là số Armstrong vì 153 = 13 + 53 + 33; mọi số có một chữ số đều là số Armstrong.
Yêu cầu: Liệt kê các số Armstrong trong đoạn [a, b].
Dữ liệu vào: Từ file văn bản ARMSTRONG.INP gồm một dòng chứa hai số nguyên a, b.
Kết quả: Ghi ra file văn bản ARMSTRONG.OUT: dòng thứ nhất ghi số lượng số Armstrong
trong đoạn; nếu có ít nhất một số thì dòng thứ hai ghi các số đó theo thứ tự tăng dần.
Ví dụ:
| ARMSTRONG.INP | ARMSTRONG.OUT |
|---|---|
100 999 | 4153 370 371 407 |
Ràng buộc: 1 ≤ a ≤ b ≤ 105.
Bài 2. Sắp xếp chẵn lẻ (5 điểm)
Phần tiêu đề “Bài 2. Sắp xếp chẵn lẻ (5 điểm)”Cho dãy n số nguyên a1, a2, …, an.
Yêu cầu: Cho biết giá trị lớn nhất, giá trị nhỏ nhất của dãy, và sắp xếp lại dãy sao cho các số chẵn đứng trước theo thứ tự tăng dần, các số lẻ đứng sau theo thứ tự giảm dần.
Dữ liệu vào: Từ file văn bản CHANLE.INP gồm:
- Dòng đầu tiên chứa số nguyên dương n.
- Dòng thứ hai chứa n số nguyên a1, a2, …, an (|ai| ≤ 109).
Kết quả: Ghi ra file văn bản CHANLE.OUT gồm hai dòng: dòng thứ nhất ghi giá trị lớn
nhất và nhỏ nhất; dòng thứ hai ghi dãy sau khi sắp xếp.
Ví dụ:
| CHANLE.INP | CHANLE.OUT |
|---|---|
715 26 11 27 8 4 12 | 27 44 8 12 26 27 15 11 |
5-3 -8 5 0 -1 | 5 -8-8 0 5 -1 -3 |
Ràng buộc:
- Có 50% số test với n ≤ 1000.
- Có 50% số test với n ≤ 2 × 105.
Bài 3. Số đối xứng kế tiếp (6 điểm)
Phần tiêu đề “Bài 3. Số đối xứng kế tiếp (6 điểm)”Số đối xứng là số đọc từ trái sang phải hay từ phải sang trái đều như nhau, ví dụ 7, 55, 636, 52825.
Yêu cầu: Cho T số nguyên dương, với mỗi số x hãy tìm số đối xứng nhỏ nhất lớn hơn hoặc bằng x.
Dữ liệu vào: Từ file văn bản DOIXUNG.INP gồm:
- Dòng đầu tiên chứa số nguyên dương T.
- T dòng tiếp theo, mỗi dòng chứa một số nguyên dương x.
Kết quả: Ghi ra file văn bản DOIXUNG.OUT gồm T dòng là các số đối xứng tìm được.
Ví dụ:
| DOIXUNG.INP | DOIXUNG.OUT |
|---|---|
45617453995 | 5657557995 |
Ràng buộc:
- Có 40% số test với T ≤ 10, x ≤ 106.
- Có 60% số test với T ≤ 104, x ≤ 1018.
Bài 4. Đếm số đối xứng (6 điểm)
Phần tiêu đề “Bài 4. Đếm số đối xứng (6 điểm)”Yêu cầu: Cho T đoạn [a, b], với mỗi đoạn hãy đếm số lượng số đối xứng thuộc đoạn đó.
Dữ liệu vào: Từ file văn bản DEMDX.INP gồm:
- Dòng đầu tiên chứa số nguyên dương T.
- T dòng tiếp theo, mỗi dòng chứa hai số nguyên a, b (1 ≤ a ≤ b).
Kết quả: Ghi ra file văn bản DEMDX.OUT gồm T dòng, dòng thứ i là số lượng số đối xứng
trong đoạn thứ i.
Ví dụ:
| DEMDX.INP | DEMDX.OUT | Giải thích |
|---|---|---|
31 100100 200123 130 | 18100 | [1, 100]: 9 số có một chữ số và 9 số 11, 22, …, 99. [100, 200]: 101, 111, …, 191. |
Ràng buộc:
- Có 40% số test với T ≤ 10, b ≤ 105.
- Có 60% số test với T ≤ 104, b ≤ 1018.