Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

TRƯỜNG CHUYÊN LÊ QUÝ ĐÔN BRVT ĐỀ KIỂM TRA GIỮA KỲ 1

TỔ TIN HỌC NĂM HỌC 2021 – 2022


Môn: TIN HỌC- LỚP 10

Thời gian làm bài: 110 phút.


Đề thi có 03 trang.
TỔNG QUAN ĐỀ THI
Tên bài Tên file CT Tên file dữ liệu vào Tên file kết quả
BÀI 1 Bishu chiến đấu BISHU.* BISHU.INP BISHU.OUT
BÀI 2 Chính phương SQROOT.* SQROOT.INP SQROOT.OUT
BÀI 3 Trung bình lớn nhất AVERAGE.* AVERAGE.INP AVERAGE.OUT
Dấu * được thay thế bởi đuôi của ngôn ngữ lập trình tương ứng.
Hãy lập trình giải các bài toán sau:
Bài 1(7 điểm): BISHU chiến đấu
Bishu đã chiến đấu với Câu lạc bộ Coding. Ở đây có N người lính với sức mạnh khác
nhau. Sẽ có Q vòng để chiến đấu và trong mỗi vòng sức mạnh của Bishu sẽ khác nhau.
Với sức mạnh M, Bishu có thể tiêu diệt tất cả những người lính có năng lực nhỏ hơn hoặc
bằng M (<= M). Sau mỗi vòng đấu, tất cả những người lính đã chết trong vòng trước sẽ
được tái sinh. Trong mỗi vòng sẽ có N chiến binh để chiến đấu. Vì Bishu yếu toán học
nên bạn hãy giúp anh đếm số binh lính mà anh ta có thể tiêu diệt trong mỗi vòng và tổng
sức mạnh của chúng.
Yêu cầu: Tìm số binh lính và tổng số sức mạnh mà Bishu có thể tiêu diệt.
Dữ liệu vào: từ file văn bản BISHU.INP
- Dòng đầu tiên chứa số N người lính (1<=N<=10000)
- Dòng thứ hai chứa năng lực của N người lính tương ứng (1<= ai <=100).
- Dòng thứ ba chứa số vòng Q cần chiến đấu (1<=Q<=10000)
- Dòng cuối cùng chứa năng lượng chiến đấu của Bishu tương ứng với Q vòng đấu
Dữ liệu ra: ghi vào file BISHU.OUT: Số lính Bishu có thể tiêu diệt và tổng năng lượng
của chúng tương ứng với mỗi vòng đấu.
Ví dụ:
BISHU.INP BISHU.OUT
7 36
1234567 7 28
3 23
3
10
2
Bài 2 (7 điểm): Chính phương
An là một người yêu toán học nên thường xuyên tính toán với các con số. An vừa học về
số chính phương và dễ dàng viết ra dãy A gồm các số nguyên dương là chính phương
theo thứ tự từ bé đến lớn như sau: 1, 4, 9, 16, 25, 36…. Để xác định một số chính phương
là vô cùng dễ dàng. An thắc mắc tổng của n số đầu tiên trong dãy là bao nhiêu.
Yêu cầu: Cho số tự nhiên n, hãy lập trình tính toán giúp An giá trị T là tổng của n số đầu
tiên trong dãy A.
Dữ liệu: vào từ file văn bản SQROOT.INP một dòng duy nhất là số nguyên dương
10
n( n ≤10 )
Kết quả: Ghi ra file văn bản SQROOT.OUT một số nguyên duy nhất là số dư của T
trong phép chia cho 2021.
SQROOT.INP SQROOT.OUT
4 30
SQROOT.INP SQROOT.OUT
20 849
Giải thích:
- Trong ví dụ 1: T= 1+4+9+16=30. Số bạn cần đưa ra là 30 mod 2021=30
- Trong ví dụ 2: T= 1+4+9+…400=2870. Số bạn cần đưa ra là 2870 mod 2021= 849
Ràng buộc:
- Có 60% test tương ứng với 60% số điểm có n 17
- Có 30% test khác tương ứng với 30% số điểm có n 2.103
- 10% số test còn lại tương ứng với 10% số điểm có n 1010
Bài 3 (6 điểm): Trung bình lớn nhất
Cho số nguyên dương n và dãy số A1, A2, ..., AN . Gọi đoạn con [u,v] của dãy là các phần
tử liên tiếp au, au+1, au+2,....av ( u v). Dễ thấy đoạn con [u,v] có độ dài là v-u+1 và giá trị
trung bình là (Au+Au+1+Au+2+…Av) / (v - u+1).
Yêu cầu: Cho số nguyên k, hãy xác định đoạn con có độ dài không nhỏ hơn k có giá trị
trung bình lớn nhất.
Dữ liệu: Vào từ file văn bản AVERAGE.INP
 Dòng đầu chứa 2 số nguyên dương n, k
 Dòng thứ 2 chứa n số nguyên A1, A2, ..., AN ( |ai| 109 , 1 i n), các số được
phân tách nhau bởi dấu cách.
Kết quả: Đưa ra file văn bản AVERAGE.OUT một số thực duy nhất là giá trị trung bình
của đoạn con tìm được. Kết quả đưa ra lấy 3 chữ số thập phân sau dấu phẩy.
Ví dụ:
AVERAGE.INP AVERAGE.OUT
42 10.333
17 0 14 1
AVERAGE.INP AVERAGE.OUT
51 8.000
2 8 -1 4 5
Giải thích:
-Trong ví dụ 1, đoạn con có giá trị trung bình lớn nhất thỏa mãn là đoạn [1,3] với các giá
trị 17, 0, 14.
-Trong ví dụ 2, đoạn con có giá trị trung bình lớn nhất thỏa mãn là đoạn [2,2] với giá trị
là 8.
Ràng buộc:
- 20% số test tương ứng với 20% điểm có n 400; k=1;
- 30% số test tương ứng với 30% điểm có 1 < k n 400.
- 30% số test tương ứng với 30% điểm có 1 < k n 5.103
- 20% số test còn lại tương ứng với 20% số điểm có 1 < k n 2.105
-------Hết------

You might also like