Bỏ qua để đến nội dung

Đề 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


BàiTên bàiFile chương trìnhFile dữ liệu vàoFile kết quảĐiểm
1Số ArmstrongARMSTRONG.*ARMSTRONG.INPARMSTRONG.OUT3
2Sắp xếp chẵn lẻCHANLE.*CHANLE.INPCHANLE.OUT5
3Số đối xứng kế tiếpDOIXUNG.*DOIXUNG.INPDOIXUNG.OUT6
4Đếm số đối xứngDEMDX.*DEMDX.INPDEMDX.OUT6

Dấu * được thay bằng py hoặc cpp tùy theo ngôn ngữ lập trình sử dụng.

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.INPARMSTRONG.OUT
100 9994
153 370 371 407

Ràng buộc: 1 ≤ a ≤ b ≤ 105.

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.INPCHANLE.OUT
7
15 26 11 27 8 4 12
27 4
4 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.INPDOIXUNG.OUT
4
561
7453
99
5
565
7557
99
5

Ràng buộc:

  • Có 40% số test với T ≤ 10, x ≤ 106.
  • Có 60% số test với T ≤ 104, x ≤ 1018.

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.INPDEMDX.OUTGiải thích
3
1 100
100 200
123 130
18
10
0
[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.