HSG THCS Tây Ninh 2025-2026
SỞ GIÁO DỤC VÀ ĐÀO TẠO
TÂY NINH
ĐỀ CHÍNH THỨC
(Đề có 3 trang, gồm 3 bài)
KỲ THI CHỌN HỌC SINH GIỎI CÁC MÔN VĂN HÓA CẤP TỈNH
Năm học 2025 - 2026
Môn thi: Tin học - Cấp THCS - Ngày thi: 22/3/2026
Thời gian: 150 phút (không kể thời gian phát đề)
Tổng quan bài thi
Phần tiêu đề “Tổng quan bài thi”| Tên bài | File chương trình | File dữ liệu vào | File kết quả |
|---|---|---|---|
| CHIA QUẢ | BAI1.* | INP1.INP | OUT1.OUT |
| CHUỖI LỄ HỘI | BAI2.* | INP2.INP | OUT2.OUT |
| NGUYÊN TỐ ĐẶC BIỆT | BAI3.* | INP3.INP | OUT3.OUT |
Học sinh tạo thư mục là số báo danh của mình, lưu các bài làm với tên tương ứng
BAI1.*, BAI2.*, BAI3.* vào thư mục vừa tạo (dấu * được thay bằng phần mở rộng của
ngôn ngữ lập trình dùng để viết chương trình). Ví dụ: D:\B001\BAI1.*
Hãy lập trình giải các bài toán bên dưới.
Bài 1. CHIA QUẢ (7,0 điểm)
Phần tiêu đề “Bài 1. CHIA QUẢ (7,0 điểm)”Nhân dịp đi du lịch, An đã mua n quả táo (2 ≤ n ≤ 1000) về làm quà cho k bạn (2 ≤ k ≤ 20). Mỗi quả táo có trọng lượng 50g hoặc 100g. Bây giờ An muốn chia đều n quả táo trên thành các phần có trọng lượng bằng nhau để chia cho k bạn. Bạn hãy giúp An chia n quả táo trên thành k phần có trọng lượng bằng nhau được không (Khi chia k phần, các quả táo đều nguyên vẹn).
Yêu cầu:
a) Viết chương trình kiểm tra có thể chia được n quả táo với k phần có trọng lượng bằng nhau được không.
b) Nếu chia được thì xuất kết quả danh sách trọng lượng các quả táo đã chia cho từng người, nếu có nhiều cách chia như ví dụ bên dưới thì chỉ lấy 1 kết quả.
| INPUT | OUTPUT | |
|---|---|---|
| Cách chia 1 | 3 250 100 50 | YES50 50100 |
| Cách chia 2 | 3 250 100 50 | YES10050 50 |
Dữ liệu vào: lấy từ file INP1.INP có cấu trúc như sau:
- Dòng 1: Gồm 2 số nguyên n (2 ≤ n ≤ 1000) số lượng các quả táo và k người bạn (2 ≤ k ≤ 20) cách nhau một khoảng trắng.
- Dòng 2: Gồm n số nguyên a₁, a₂, a₃, …, aₙ là trọng lượng các quả táo mà An đã mua, dữ liệu vào đảm bảo chỉ có hai trường hợp aᵢ = 50 hoặc aᵢ = 100 và cách nhau một khoảng trắng.
Kết quả: ghi ra file OUT1.OUT có cấu trúc như sau:
- Dòng 1: Kết quả câu a nếu chia được thì ghi YES, không chia được thì ghi NO.
- k dòng tiếp theo là danh sách kết quả câu b (nếu có).
Ví dụ:
| INPUT | OUTPUT |
|---|---|
3 250 100 50 | YES50 50100 |
4 450 50 50 100 | NO |
Bài 2. CHUỖI LỄ HỘI (7,0 điểm)
Phần tiêu đề “Bài 2. CHUỖI LỄ HỘI (7,0 điểm)”Trong một lễ hội thuộc đất nước BB, do số lượng người tham gia lễ hội quá lớn, dòng người bị tắc nghẽn.
Ban tổ chức đặt ra quy định:
Quy định 1: Nếu có hai người mặc áo có màu giống nhau và đứng cạnh nhau, họ có nguy cơ dừng lại chụp hình, gây tắc nghẽn → vì vậy cặp đó sẽ được mời sang lối đi khác (tương đương xóa khỏi hàng).
Quy định 2: Sau khi hai người cùng màu áo sang lối đi khác (xóa khỏi hàng), người phía trước và phía sau của cặp người vừa xóa khỏi hàng gần lại thành hàng mới có thể tạo thành cặp mới có màu áo giống nhau nên quy định 1 tiếp tục lặp lại và quy định 2 cũng lặp lại (nếu có) cho đến khi không còn người nào đứng cạnh nhau có cùng màu áo.
Yêu cầu: Cho chuỗi S bao gồm chữ cái latin và chữ số là mã hóa (biểu diễn) màu áo của dòng người tham gia lễ hội. Mỗi ký tự (chữ hoặc số) trong S tương ứng với màu áo của một người trong hàng.
Tìm chuỗi cuối cùng sau khi mọi cặp liền kề giống nhau đã bị loại bỏ. Nếu chuỗi cuối cùng rỗng thì ghi “Empty”. (Chuỗi có chứa khoảng trắng, phải loại bỏ tất cả khoảng trắng trước khi xử lý).
Dữ liệu vào: lấy từ file INP2.INP có cấu trúc như sau:
- Một dòng duy nhất chứa chuỗi ký tự S (1 ≤ S ≤ 10⁶).
Kết quả: ghi ra file OUT2.OUT có cấu trúc như sau:
- Một dòng duy nhất ghi chuỗi kết quả sau khi xóa các cặp trùng. Chuỗi kết quả rỗng ghi “Empty”.
Ví dụ:
| INPUT | OUTPUT | Giải thích |
|---|---|---|
abccba | Empty | • Đầu tiên xóa cc thu được abba • Xóa tiếp bb thu được aa • Xóa aa chuỗi rỗng ghi “Empty” |
1122dd21 | 21 | • Đầu tiên xóa 11 thu được 22dd21 • Xóa tiếp 22 thu được dd21 • Xóa dd thu được chuỗi kết quả 21 |
a a b b c c d d e | e | • Xóa khoảng trắng thu được aabbccdde • Xóa aa thu được bbccdde • Xóa bb thu được ccdde • Xóa cc thu được dde • Xóa dd thu được chuỗi kết quả e |
Bài 3. NGUYÊN TỐ ĐẶC BIỆT (6,0 điểm)
Phần tiêu đề “Bài 3. NGUYÊN TỐ ĐẶC BIỆT (6,0 điểm)”Tym là một học sinh rất yêu thích môn toán đặc biệt là các dạng Toán số. Trong một lần giải bài tập về số nguyên tố, Tym vô tình phát hiện ra một loại số nguyên tố rất đặc biệt. Tym gọi là “Số nguyên tố đặc biệt” khi số đó thỏa mãn các điều kiện sau:
- N là số nguyên tố. (Số nguyên tố là số tự nhiên lớn hơn 1 và là số chỉ chia hết cho 1 và chính nó)
- Tổng các chữ số của N cũng là số nguyên tố.
Tym muốn tìm được các “Số nguyên tố đặc biệt” trong một khoảng từ L đến R (1 ≤ L ≤ R ≤ 10⁹).
Yêu cầu: Em hãy viết chương trình giúp Tym tìm được các “Số nguyên tố đặc biệt” trong khoảng từ L đến R.
Dữ liệu vào: lấy từ file INP3.INP có cấu trúc như sau:
- Một dòng duy nhất chứa 2 số L và R được cách nhau bởi khoảng trắng.
Kết quả: Ghi ra file OUT3.OUT có cấu trúc như sau:
- Một dòng duy nhất danh sách các “Số nguyên tố đặc biệt” tìm thấy cách nhau bởi một khoảng trắng.
Ví dụ:
| INPUT | OUTPUT |
|---|---|
10 20 | 11 |
1 10 | 2 3 5 7 |
1 30 | 2 3 5 7 11 23 29 |
Thí sinh không được sử dụng tài liệu. Giám thị không giải thích gì thêm.