.jpg)
Tuyển tập 18 Đề thi HSG môn Tin học 8 (Có đáp án chi tiết) - DeThi.edu.vn
DeThi.edu.vn
ĐỀ SỐ 1
SỞ GIÁO DỤC VÀ ĐÀO TẠO
----------------
ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 8
NĂM HỌC 2024 – 2025
Môn thi: Tin học Thời gian: 120 phút, không kể thời gian giao đề
TỔNG QUAN BÀI THI Tên bài Tên bài làm Điểm Câu 1 TỔNG LIÊN TIẾP.* 8,0 Câu 2 SỐ ĐẢO NGƯỢC.* 7,0 Câu 3 SỐ BỊ THIẾU.* 5,0 Lưu ý: Thí sinh tạo thư mục là D:\HSGSBD (Ví dụ D:\HSG001) và lưu các tệp bài làm vào thư mục vừa tạo. Phần mở rộng: *.pas đối với NN Pascal; *.cpp đối với NN C++; *.c đối với NN C. Lập trình giải các bài toán sau (thời gian chạy tối đa cho mỗi bài là 1 giây)
Câu 1: Tổng liên tiếp Cho ba số nguyên dương a, b, x (a ≤ b). Hỏi có bao nhiêu số nguyên liên tiếp trong đoạn [a, b] có tổng các chữ số chia hết cho x? Dữ liệu vào: Nhập từ bàn phím một dòng chứa ba số nguyên dương a, b, x (1 ≤ a ≤ b ≤ 10^9, 1 ≤ x ≤ 100). Kết quả: Ghi ra một số nguyên dương là kết quả bài toán. Ví dụ:
Dữ liệu vào Kết quả
10 20 5 3
Câu 2: Số đảo ngược Cho số nguyên dương n. Hãy tìm số đảo ngược của n và kiểm tra xem số đó có phải là bội của 7 hay không. Dữ liệu vào: Nhập từ bàn phím một số nguyên dương n (n ≤ 10^12). Kết quả: Ghi ra "YES" nếu số đảo ngược là bội của 7, ngược lại ghi "NO". Ví dụ:
Dữ liệu vào Kết quả
123 NO
DeThi.edu.vn
Tuyển tập 18 Đề thi HSG môn Tin học 8 (Có đáp án chi tiết) - DeThi.edu.vn
DeThi.edu.vn
Câu 3: Số bị thiếu Cho một dãy gồm n số nguyên dương đôi một khác nhau trong đoạn [1, n+1], nhưng thiếu đúng một số. Hãy tìm số bị thiếu. Dữ liệu vào: • Dòng đầu ghi số nguyên dương n (1 ≤ n ≤ 10^6). • Dòng thứ hai chứa n số nguyên đôi một khác nhau thuộc đoạn [1, n+1]. Kết quả: In ra số nguyên bị thiếu duy nhất. Ví dụ:
Dữ liệu vào Kết quả
4 2 1 4 5
3
----------HẾT----------
DeThi.edu.vn
Tuyển tập 18 Đề thi HSG môn Tin học 8 (Có đáp án chi tiết) - DeThi.edu.vn
DeThi.edu.vn
ĐÁP ÁN
Câu 1: Tổng liên tiếp int tongChuSo(int n) { int s = 0; while (n > 0) { s += n % 10; n /= 10; } return s; } int main() { long long a, b, x, dem = 0; cin >> a >> b >> x; for (long long i = a; i <= b; i++) { if (tongChuSo(i) % x == 0) dem++; } cout << dem; }
Câu 2: Số đảo ngược long long daoNguoc(long long n) { long long rev = 0; while (n > 0) { rev = rev * 10 + n % 10; n /= 10; } return rev; }
int main() { long long n; cin >> n; long long m = daoNguoc(n); if (m % 7 == 0) cout << "YES"; else cout << "NO"; }
DeThi.edu.vn
Tuyển tập 18 Đề thi HSG môn Tin học 8 (Có đáp án chi tiết) - DeThi.edu.vn
DeThi.edu.vn
Câu 3: Số bị thiếu int main() { int n, x, tong = 0; cin >> n; int tongDung = (n + 1) * (n + 2) / 2; for (int i = 0; i < n; i++) { cin >> x; tong += x; } cout << tongDung - tong; }
DeThi.edu.vn
Tuyển tập 18 Đề thi HSG môn Tin học 8 (Có đáp án chi tiết) - DeThi.edu.vn
DeThi.edu.vn
ĐỀ SỐ 2
PHÒNG GD&ĐT BẢO YÊN ĐỀ THI CHỌN HỌC SINH GIỎI CẤP HUYỆN
NĂM HỌC 2023-2024 Môn thi: Tin học Lớp 8 Thời gian: 150 phút (không kể thời gian giao đề)
TỔNG QUAN BÀI THI Câu Tên chương trình File dữ liệu vào File dữ liệu ra Điểm Câu 1 Cau1.cpp Cau1.inp Cau1.out 5.0 Câu 2 Cau2.cpp Cau2.inp Cau2.out 5.0 Câu 3 Cau3.cpp Cau3.inp Cau3.out 4.0 Câu 4 Cau4.cpp Cau4.inp Cau4.out 4.0 Câu 5 Cau5.cpp Cau5.inp Cau5.out 2.0 Thí sinh tạo 1 thư mục trong ổ D hoặc ngoài màn hình, đặt tên thư mục là Số báo danh của mình và lưu các bài vào thư mục này. Viết chương trình bằng ngôn ngữ C++.
Câu 1 (5,0 điểm) Trong một lần ra chơi Nam viết vu vơ một số tự nhiên bất kỳ có giá trị là n với (1<=n<=1018), Toàn thấy vậy mới đố Nam tính được tổng Sn, với tổng Sn được tính bởi công thức sau: Sn = 12 + 2 2 + ..... + n 2 . Nam loay hoay một lúc không biết tính thế nào. Các bạn hãy dùng ngôn ngữ C++ viết chương trình tính hộ tổng Sn giúp bạn Nam trả lời câu đố của bạn Toàn nhé. Dữ liệu vào: Lấy từ tệp Cau1.inp gồm 1 dòng ghi 1 số nguyên dương n. Dữ liệu ra: Ghi vào tệp Cau1.out gồm 1 dòng ghi tổng Sn Ví dụ:
Cau1.inp Cau1.out Giải thích
Câu 2 (5,0 điểm) Vào một buổi học tin học tại lớp Nam lại đố lại toàn. Tớ cho …
Trên đây là phần đầu tài liệu — bấm Đọc sách để xem đầy đủ.