SỞ GIÁO DỤC & ĐÀO TẠO ĐỀ THI HỌC SINH GIỎI CẤP CỤMTHỜI GIAN LÀM BÀI: 120 PHÚT Đề thi gồm có: 02 trang Tổng quan đề thi: Bài Tên tệp chương trình Tên tệp input Tên tệp output Phần mở rộng
Trang 1SỞ GIÁO DỤC & ĐÀO TẠO ĐỀ THI HỌC SINH GIỎI CẤP CỤM
THỜI GIAN LÀM BÀI: 120 PHÚT
(Đề thi gồm có: 02 trang)
Tổng quan đề thi:
Bài Tên tệp chương trình Tên tệp input Tên tệp output
Phần mở rộng của tệp chương trình được đặt theo ngôn ngữ lập trình được sử dụng (ngôn ngữ Pascal là pas)
Bài 1 (6 điểm) MÁY RÚT TIỀN ATM (ATM.PAS)
Trong máy ATM, có sẵn các loại tiền có mệnh giá x1 ngàn đồng, x2 ngàn đồng, xn ngàn đồng Giả sử mỗi loại tiền đều có số lượng không hạn chế
Khi có một khách hàng cần rút một số tiền S ngàn đồng Hãy tìm một phương án trả tiền sao cho trả đủ S đồng và số tờ giấy bạc phải trả là ít nhất (giả thuyết luôn luôn trả đủ tiền cho khách hàng)
Input: ATM.INP có cấu trúc
- Dòng thứ nhất ghi số tiền S
- Dòng thứ 2 ghi mệnh giá các tờ giấy bạc x1, x2, …, xn
Output: ATM.OUT có cấu trúc: gồm n dòng, mỗi dòng ghi hai số, số thứ nah61t là mệnh giá tờ
giấy bạc, số thứ 2 ghi số tờ trả cho khách hàng
2300
500 100 200
500 4
200 1
100 1
Gợi ý phân tích bài toán: Để rút số tờ giấy bạc là ít nhất thì số tờ giấy bạc lớn nhất cần trả nhiều nhất
Trang 2Bài 2 (7 điểm) ĐỔI HỆ ĐẾM (DOIHEDEM.PAS)
Cho S là một xâu mô tả số nguyên không âm ở hệ đếm cơ số a, hãy chuyển số đó sang hệ đếm cơ số b 1a b 16 (độ dài xâu S không vượt quá 50)
Dữ liệu vào file DOIHEDEM.INP: Dòng đầu là xâu S; dòng thứ hai là hai số a, b cách nhau một dấu cách
Kết quả ra file DOIHEDEM.OUT: Kết quả đã đổi được
DOIHEDEM.INP DOIHEDEM.OUT
1010
2 10
10
Bài 3 (7 điểm) SỐ FIBONACCI (FIBO.PAS)
Viết chương trình tính giá trị của số hạng thứ n của dãy Fibonacci với kết quả có thể lên đến hàng nghìn chữ số ở hệ thập phân
Dữ liệu vào cho trong file FIBO.INP gồm một dòng duy nhất chứa số n n 5000
Dữ liệu ra ghi ra file FIBO.OUT giá trị của số hạng thứ N của dãy Fibonacci
Ví dụ:
Gợi ý:
Cách 1: Dùng công thức qui hoạch động để xử lí
Cách 2: Dùng qui hoạch động và phương pháp cộng số lớn để giải quyết bài toán