TRƯỜNG THPT CẨM THUỶ 1
| ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG NĂM HỌC: 2019 – 2020 Môn: Tin học Thời gian: 180 phút (không kể thời gian giao đề)
|
ĐỀ BÀI:
Câu 1: Số thân thiện (5 điểm)
Số tự nhiên có rất nhiều tính chất thú vị: Ví dụ với số 29, số đảo ngược của nó là 92. Hai số này nguyên tố cùng nhau tức có ước chung lớn nhất là 1. Những số như thế được gọi là số thân thiện, tức là số 29 được gọi là số thân thiện, số 92 cũng được gọi là số thân thiện.
Ví dụ : a = 110 ; b = 120. Có 6 số thân thiện từ 110 đến 120 gồm: 112 113 115 116 118 119
Dữ liệu: Vào file văn bản SOTTHIEN.INP chứa 2 số nguyên a, b (10 ≤ a ≤ b ≤ 20000).
Kết quả: ghi vào tệp SOTTHIEN.OUT là các số thân thiện trong đoạn [a, b]. Nếu không có số thân thiện nào trong đoạn [a,b] thì in ra -1.
SOTTHIEN.INP | SOTTHIEN.OUT |
110 120 | 112 113 115 116 118 119 |
Câu 2: Xoá ký tự trùng. (5 điểm)
Viết chương trình xoá các ký tự liên tiếp giống nhau trong một xâu cho trước chỉ chừa lại 1 ký tự.
Dữ liệu vào: Tệp văn bản ‘XOATRUNG.INP’ chứa một xâu ký tự không quá 500 ký tự
Dữ liệu ra: Tệp văn bản ‘XOATRUNG.OUT’ chứa xâu sau khi xoá các ký tự trùng.
XOATRUNG.INP | XOATRUNG.OUT |
tttttthhhhppppttt ccammmthhhuuyy1111 | thpt camthuy1 |
Câu 3: Tích lớn nhất (4 điểm)
Cho một dãy gồm n số nguyên. Viết chương trình hiển thị ra màn hình 3 số trong dãy có tích T của chúng là lớn nhất.
Input cho trong tệp ‘TICH.INP’ gồm:
- Dòng 1: Nhập giá trị N (5 <= N <= 100000)
- Dòng 2: Chứa N số nguyên A1, A2, …, AN. (|Ai| <=100000)
Output Ghi vào tệp “TICH.OUT’
3 số có tích lớn nhất tìm được.
Ví dụ:
TICH.INP | TICH.OUT |
9 6 3 7 9 -32 10 -45 4 15 | -45 -32 15 |
Câu 4: Dãy con liên tiếp (3 điểm)
Cho số nguyên dương M và N số nguyên dương a1, a2, …, aN.
Yêu cầu: Hãy chọn ra K số liên tiếp trong N số đã cho sao cho tổng của chúng chia hết cho M và K là nhỏ nhất.
Dữ liệu vào: DCLT.INP
- Dòng đầu chứa số M và N (M<32767, n<=10000)
- Dòng thứ hai chứa N số a1, a2, …, aN (ai<32767)
Kết quả ghi vào tệp DCLT.OUT
Dòng đầu là hai số nguyên K và J cách nhau ít nhất 1 dấu cách, trong đó:
- K là số phần tử của dãy con liên tiếp có tổng chia hết cho M có ít phần tử nhất
- J là chỉ số của phần tử đầu tiên trong dãy con liên tiếp tìm được (nếu có nhiều dãy con thỏa mãn thì J là chỉ số của phẩn tử trong dãy con đầu tiên).
Dòng 2 ghi ra các phần tử của dãy con thõa mãn đầu tiên.
Nếu không tìm được dãy con nào thì ghi số -1.
Câu 5: Số lớn nhất (3 điểm)
Trong giờ học môn toán, Cuội ngồi nghe cô giáo giảng bài rất chăm chú, còn Bờm, có vẻ như đang buồn ngủ vì sở thích của anh chàng là các môn Khoa học Xã hội. Để giúp Bờm tỉnh táo, Cuội tổ chức một trò chơi cho Bờm bằng cách viết ra giấy một số nguyên dương gồm N chữ số, yêu cầu Bờm tìm số lớn nhất có thể sau ghi gạch bỏ đi K chữ số trong số N chữ số đã cho.
Dữ liệu: cho trong file văn bản NUMMAX.INP
- Dòng đầu: ghi hai số nguyên N và K , cách nhau bởi một dấu cách.
- Dòng thứ hai: ghi xâu N chữ số, chữ số đầu tiên luôn khác 0.
Kết quả: ghi ra file văn bản NUMMAX.OUT kết quả tìm được trên một dòng duy nhất.
Điều kiện: 1 ≤ K ≤ N ≤ 50000
Ví dụ:
NUMMAX.INP | NUMMAX.OUT | NUMMAX.INP | NUMMAX.OUT |
3 1 991 | 99 | 4 2 1924 | 94 |