You are on page 1of 3

HUYỆN HOẰNG HÓA ĐỀ THI KHẢO SÁT CHẤT LƯỢNG HSG LẦN 1

KHỐI TRƯỜNG THPT NĂM HỌC 2021 - 2022


MÔN : TIN HỌC
Ngày thi 14/10/2021
Thời gian: 150 phút, không kể thời gian phát đề.
(Đề gồm 3 trang, 5 câu tự luận )

Họ và tên thí sinh:………………………………………Số báo danh…………………..

Tổng quan bài thi:


File chương File dữ liệu
Tên bài File kết quả
trình vào
Câu 1 Chữ số chẵn,lẻ CAU1.* CAU1.INP CAU1.OUT
Câu 2 Số hoàn thiện CAU2.* CAU2.INP CAU2.OUT
Câu 3 Số thân thiện CAU3.* CAU3.INP CAU3.OUT
Câu 4 Số lớn thứ nhì CAU4.* CAU4.INP CAU4.OUT
Câu 5 Mã hóa CAU5.* CAU5.INP CAU5.OUT
Dấu (*) trong tên file chương trình biểu thị đuôi file tùy thuộc vào NNLT sử dụng
('pas' đối với NNLT PASCAL, ‘cpp’ đối với NNLT C++,...).
Hãy lập trình giải các bài toán sau:
Câu 1 (6 điểm): Chữ số chẵn,lẻ
Nam rất thích những gì có tính thứ tự nên muốn tìm các số nguyên dương mà
chữ số ở vị trí chẵn thì là số chẵn còn chữ số ở vị trí lẻ thì là số lẻ.
Yêu cầu: Em hãy giúp Nam thực hiện công việc trên.
Dữ liệu vào: Từ tệp CAU1.INP chứa số nguyên dương n không quá 2000 chữ số.
Dữ liệu ra: Ghi vào tệp CAU1.OUT chữ YES nếu số đó thỏa mãn tính chất mà Nam
yêu cầu chữ NO nếu ngược lại.
Ví dụ:
CAU1.INP CAU1.OUT CAU1.INP CAU1.OUT
345678 YES 47589 NO
Câu 2 (5 điểm): Số hoàn thiện
Cho mảng a gồm n số nguyên dương a1, a2, ..,an (với 1 n 104, 0 < ai 109,
i=1,2,..,n )
Yêu cầu: Hãy tìm số hoàn thiện nhỏ nhất trong mảng. Nếu mảng không có số hoàn
thiện nào thì đưa ra giá trị -1.
Số hoàn thiện là một số nguyên dương có tổng các ước (ngoại trừ nó) bằng
chính nó ví dụ: 6 là số hoàn thiện vì 6 có các ước không kể nó là 1, 2, 3 và 1+2+3 = 6.
Dữ liệu vào: Từ tệp CAU2.INP gồm 2 dòng:
- Dòng đầu là số nguyên dương n;

Trang 1/3
- Dòng thứ hai chứa n số nguyên dương a1, a2, ..,an mỗi số cách nhau một dấu
cách trống.
Dữ liệu ra: Ghi vào tệp CAU2.OUT số hoàn thiện nhỏ nhất trong mảng nếu mảng không
có số hoàn thiện nào thì ghi số -1
Ví dụ:
CAU2.INP CAU2.OUT CAU2.INP CAU2.OUT
7 6 7 -1
4 5 6 7 34 28 67 5 7 8 23 14 56 9
Câu 3 (4 điểm): Số thân thiện
Số tự nhiên có rất nhiều tính chất thú vị. Ví dụ với số 23, số đảo ngược của nó là
32. Hai số này có ước chung lớn nhất là 1. Những số như thế được gọi là số thân thiện,
tức là số 23 được gọi là số thân thiện, số 32 cũng được gọi là số thân thiện.
Yêu cầu: Hãy đếm xem trong khoảng từ a đến b (kể cả a và b) có bao nhiêu số thân
thiện. Với a, b là 2 số nguyên (10≤a≤b≤107).
Dữ liệu vào: Từ tệp CAU3.INP gồm một dòng chứa 2 số a,b. Hai số được cách nhau
bằng một khoảng trắng
Dữ liệu ra: Ghi vào tệp CAU3.OUT là kết quả của bài toán.
Ví dụ:
CAU3.INP CAU3.OUT
20 30 3
Câu 4 (3 điểm): Số lớn thứ nhì
Cho dãy số nguyên a gồm N phần tử a1, a2, …, aN.
Yêu cầu: Hãy chỉ ra số nguyên âm lớn thứ nhì, không xuất hiện trong dãy a.
Dữ liệu vào: Từ tệp CAU4.INP gồm:
- Dòng đầu tiên chứa một số nguyên dương N (N≤ 106)
- Dòng tiếp theo chứa dãy số nguyên a gồm N phần tử a1, a2, …, aN. (|ai|≤ 109,
i=1,2,...,N)
Dữ liệu ra: Ghi vào tệp CAU4.OUT số nguyên âm lớn thứ nhì, không xuất hiện trong
dãy.
Ví dụ:
CAU4.INP CAU4.OUT
7 -2
3 -4 3 5 1 0 -3
Câu 5 (2 điểm): Mã hóa
Lan đang tìm hiểu một trong những kĩ thuật mật mã hóa đơn giản nhất. Với bản
tin cần được mã hóa, phương pháp này sẽ được mã hóa thành một xâu với quy tắc như
sau:

Trang 2/3
Xâu mã hóa chỉ lưu lại các kí tự chữ cái xuất hiện đầu tiên. Nói cách khác, các
kí tự nào xuất hiện > 1 lần trở lên, sẽ bị xóa bỏ, chỉ giữ lại kí tự đầu tiên. Giá trị mật
mã của xâu được tính bằng tổng số lần xuất hiện của các kí tự có tần suất > 1 lần.
Các bạn hãy cùng Lan giải quyết bài toán này nhé!
Dữ liệu vào: Từ tệp CAU5.INP gồm 1 chuỗi các kí tự, có tổng độ dài không vượt quá
106. Các kí tự là chữ cái in thường, giữa các kí tự có thể ngăn cách nhau bằng dấu cách
trống.
Dữ liệu ra: Ghi vào tệp CAU5.OUT gồm 2 dòng:
- Dòng 1 là giá trị mật mã của xâu
- Dòng 2 là xâu sau khi được mã hóa.
- Ví dụ:
CAU5.INP CAU5.OUT CAU5.INP CAU5.OUT
i am a man 5 google 4
iamn Gole

Cán bộ coi thi không giải thích gì thêm.


----------------------------- Hết -----------------------------

Trang 3/3

You might also like