(Đề thi gồm có 03 trang ) Môn thi: Tin học Thời gian làm bài: 150 phút (Không kể thời gian giao đề)
Họ, tên thí sinh..........................................................................SBD……….....…….
Tổng quan bài thi: File File dữ liệu Tên bài chương File kết quả vào trình Câu 1 PHÉP TOÁN CAU1.* CAU1.INP CAU1.OUT Câu 2 SỐ ĐẶC BIỆT CAU2.* CAU2.INP CAU2.OUT Câu 3 TỔNG MŨ CHẴN LẺ CAU3.* CAU3.INP CAU3.OUT Câu 4 XÂU CON CAU4.* CAU4.INP CAU4.OUT Câu 5 TỔNG SỐ CAU5.* CAU5.INP CAU5.OUT - Dấu (*) trong tên file chương trình được thay thế bằng đ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: CÂU 1: PHÉP TOÁN (6 điểm): Hôm nay các bạn nhỏ trường tiểu học Thị trấn được làm quen với các phép tính số học + (cộng), - (trừ), * (nhân), / (chia). Sau một buổi học các bạn nhỏ đã cộng trừ nhân chia một cách thành thạo, nhưng các bạn chỉ làm được các phép tính với các số nhỏ có 1 chữ số. Được biết sắp tới có kỳ thi học sinh giỏi tỉnh nên các bạn nhỏ nhờ các anh chị làm bài toán sau: Yêu cầu: Cho 2 số nguyên dương a và b, hãy tính kết quả thương của a chia cho b. Dữ liệu: vào từ file CAU1.INP gồm 2 số nguyên dương a và b (a 1018, b 1018) Kết quả: ghi ra file CAU1.OUT là kết quả của phép chia a cho b. Yêu cầu in ra đúng 2 số phần thập phân (không được làm tròn). Nếu phần thập phân là 2 số 0 thì chỉ in ra phần nguyên. Ví dụ: CAU1.INP CAU1.OUT 42 2 100 35 2.85 Giới hạn: + Có 50% số điểm tương ứng với kết quả là số nguyên. + Có 50% số điểm còn lại không có ràng buộc gì thêm. CÂU 2: SỐ ĐẶC BIỆT (5 điểm): Minh có sở thích nghiên cứu về các con số hôm nay cậu ta phát hiện ra những số có tính chất đặc biệt cậu ta gọi nó là Số đặc biệt, là những số nguyên dương có đúng 3 ước dương. Minh biết sắp tới các bạn trong đội tuyển Học sinh giỏi Tin học của trường sẽ tham dự thi tại thành phố nên đã nhờ các bạn ấy lập trình giải bài toán sau: Yêu cầu: Với mỗi số nguyên dương N cho trước các bạn hãy cho Minh biết có bao nhiêu số đặc biệt trong các số 1, 2, 3, . . .,N. Các bạn hãy giúp Minh nhé! Dữ liệu vào: Từ tệp CAU2.INP gồm một số nguyên dương N Kết quả: Ghi vào tệp CAU2.OUT là một số duy nhất là số lượng số đặc biệt trong các số 1, 2, 3, . . .,N. Ví dụ: CAU2.INP CAU2.OUT 6 1 9 2 125 5 Giới hạn: - Có 50% các test có N 104 - Có 25% các test có N 106 - Có 25% các test có N 1012 CÂU 3: TỔNG MŨ CHẴN LẺ (4 điểm): Cho số tự nhiên N (N 2), ta có thể phân tích N thành tích các thừa số nguyên tố với dạng N=P1a1 x P2a2 x ... Pkak , trong đó P1<P2< ... <Pk là các số nguyên tố và a1, a2, ..., ak>0. Gọi S là tổng các số mũ ai chẵn, Q là tổng các số mũ aj lẻ (1 ) Vậy: S + Q = a1 + a2 + ... + ak Yêu cầu: Hãy đưa ra giá trị của S và Q Dữ liệu vào: Trong file văn bản CAU3.INP gồm một số tự nhiên N Kết quả: ghi ra file văn bản CAU3.OUT gồm 2 dòng - Dòng thứ nhất ghi giá trị của S - Dòng thứ hai ghi giá trị của P Ví dụ: CAU3.INP CAU3.OUT Giải thích 4 2 4 = 22 0 S=2; Q =0 20 2 20 = 22 + 51 1 S=2; Q=1 Giới hạn: - Có 30% số test tương ứng với N 106, P1<P2< ... <Pk <20. - Có 30% số test tương ứng với N 106 - Có 40% số test tương ứng với N 1012 CÂU 4: XÂU CON (3 điểm): Nam là một học sinh rất đặc biệt, định nghĩa của Nam về xâu NN như sau: Với 2 xâu bất kì, xâu là NN là xâu có thứ tự từ điển lớn nhất. Ví dụ: 2 xâu “abc” và “da” thì xâu “da” là xâu NN vì xâu “da” có thứ tự từ điển lớn hơn xâu “abc”. Một hôm, Nam nhờ các bạn trong đội tuyển học sinh giỏi của trường giải bài sau: Cho 2 xâu S1 và S2, gồm các chữ cái in thường, và 2 xâu này có rất nhiều xâu con chung liên tiếp hoặc đôi khi sẽ không có xâu con chung nào. Nếu có, trong các xâu con chung liên tiếp đó, hãy in ra xâu NN (hay nói cách khác là xâu có thứ tự từ điển lớn nhất). Các bạn hãy giúp anh ấy nhé. Dữ liệu: Vào từ file CAU4.INP gồm: + Dòng đầu tiên gồm xâu S1 + Dòng thứ hai gồm xâu S2 Kết quả: Ghi ra file CAU4.OUT là một dòng duy nhất là xâu NN. Nếu S1 và S2 không tồn tại xâu con chung liên tiếp nào, in ra -1. Ví dụ: CAU4.INP CAU4.OUT abcsdb sd sdsa Giải thích: các xâu con chung liên tiếp là a, d, s, sd. Xâu NN là: sd Giới hạn: + Có 30% số điểm: 2 xâu S1, S2 có độ dài đều không quá 200. + Có 40% số điểm: 2 xâu S1, S2 có độ dài đều không quá 5000. + Có 30% số điểm còn lại: 2 xâu S1, S2 có độ dài đều không quá 105. Bài 5. TỔNG SỐ K (2 điểm): Cho một dãy gồm N số nguyên a1, a2, …, aN và một số nguyên dương K. Ta có biểu thức: ? a1 ? a2 … ? aN = X Trong đó ta có thể thay thế dấu „?‟ bằng cách phép toán „+‟ hoặc „-„. Hãy đếm xem có tất cả bao nhiêu cách thay dấu khác nhau để X chia hết cho K. Hai cách thay dấu gọi là khác nhau nếu tồn tại một vị trí mà ở đó dấu ở cách này khác dấu ở cách kia. Dữ liệu: Vào từ file CAU5.INP gồm: + Dòng đầu tiên gồm 2 số nguyên dương N, K. + Dòng thứ hai gồm N số nguyên dương a1, a2, …, aN. (ai ≤ 109) Kết quả: Ghi ra file CAU5.OUT là số cách thay dấu lấy modulo cho 109 + 7. Ví dụ: CAU5.INP CAU5.OUT 53 12 1 7 14 6 7 Giới hạn: + Có 40% số điểm: N ≤ 20, K ≤ 10. + Có 60% số điểm còn lại: N ≤ 10000, K ≤ 1000.