Đề thi HSG tin 10 – Không chuyên – Vĩnh Long
Đề thi HSG tin 10 – Không chuyên – Vĩnh Long
Bạn cũng nên xem:
Bài 1. Tìm số – Tên file chương trình đặt là BL1.PAS
Viết chương trình nhập từ bàn phím hai số nguyên dương M, N (M£5, N£1000000).
Yêu cầu: Thông báo ra màn hình số lượng các số nguyên dương có M chữ số mà tổng các ước số lẻ của số đó đúng bằng N.
Ví dụ: Nhập M=1, N=4, khi đó ta có 2 số có 1 chữ số mà tổng các ước số lẻ của mỗi số bằng 4 là 3 và 6 (chúng cùng có 2 ước số lẻ là 1 và 3), phải thông báo ra màn hình dòng:
SO LUONG CAC SO TIM DUOC LA: 2
Bài 2. Hình vuông có tổng lớn nhất – Tên file chương trình đặt là BL2.PAS
Nhập từ bàn phím hai số nguyên dương M, N (M, N£10), tiếp theo nhập vào giá trị các phần tử của mảng 2 chiều (A) có M dòng và N cột theo thứ tự từ dòng 1 đến dòng M, từ trên xuống dưới; trên mỗi dòng các phần tử được nhập theo thứ tự từ cột 1 đến cột N, từ trái sang phải. Mỗi phần tử có giá trị là một số nguyên.
Yêu cầu: Hãy tìm và thông báo ra màn hình:
- a) Số lượng các hình vuông thỏa mãn các điều kiện: mỗi hình vuông gồm trọn vẹn một số ô của (A), có các cạnh song song với các cạnh của (A) và tổng các phần tử trong hình vuông là lớn nhất.
- b) Chỉ số dòng, cột hai đỉnh trái trên, phải dưới của một hình vuông trong phần a) mà hình vuông đó có ít ô nhất (nếu có nhiều hình thì chỉ cần đưa ra 1 hình).
Ví dụ: Nhập M=4, N=5, nhập (A) có 4 dòng, 5 cột gồm các phần tử như sau:
khi đó trong (A) có 2 hình vuông có tổng các phần tử là lớn nhất và tổng đó bằng 3 là:
-Hình có chỉ số đỉnh trái trên là (2; 1), đỉnh phải dưới là (4; 3)
-Hình có chỉ số đỉnh trái trên là (3; 2), đỉnh phải dưới là (4; 3)
Hình có ít ô nhất và có tổng lớn nhất là hình thứ 2 ở trên.
Khi đó phải thông báo ra màn hình 3 dòng như sau:
SO HINH VUONG TIM DUOC LA: 2
TONG CAC PHAN TU TRONG HINH LA: 3
CHI SO DONG COT HINH CO SO O IT NHAT LA: 3 2 4 3
Bài 3. Điểm chia – Tên file chương trình đặt là BL3.PAS
Viết chương trình nhập từ bàn phím số nguyên dương N (2£N£20), tiếp theo nhập dãy gồm N số a1, a2,.., aN. Với mỗi giá trị i (1£i£N-1), đặt P = (a1 + a2 + … + ai ) – ( ai+1 + … + aN ).
Yêu cầu: Tìm tất cả các giá trị i để | P | có giá trị nhỏ nhất.
Thông báo ra màn hình 2 dòng:
-Dòng thứ nhất là số lượng giá trị i tìm được.
-Dòng thứ hai là các giá trị của i theo thứ tự tăng dần.
Ví dụ: Nhập N=5, nhập dãy 1 2 2 2 1, khi đó thông báo ra màn hình gồm hai dòng như sau
SO GIA TRI TIM DUOC LA: 2
CAC GIA TRI LA: 2 3
Bài 4. Chia xâu – Tên file chương trình đặt là BL4.PAS
Viết chương trình nhập từ bàn phím một xâu ký tự S chỉ gồm các chữ cái Tiếng Anh, độ dài xâu không quá 20.
Yêu cầu: Hãy tìm một cách phân chia xâu S thành N xâu con S1, S2, …, SN thỏa mãn đồng thời các điều kiện sau:
+ Mỗi xâu Si bao gồm một số ký tự liên tiếp của S
+ Trong xâu S: Kí tự đầu tiên của Si+1 có chỉ số bằng chỉ số kí tự cuối cùng trong Si cộng 1.
+ Si£Si+1 với i=1, .., N-1 theo quan hệ so sánh xâu kí tự của Turbo Pascal.
+ Giá trị N là lớn nhất.
Thông báo ra màn hình hai dòng:
-Dòng thứ nhất giá trị của N
-Dòng thứ 2 là vị trí các kí tự cuối cùng của các xâu S1, S2, …, SN trong xâu S (vị trí các ký tự trong S được bắt đầu từ 1 theo thứ tự từ trái sang phải.
Ví dụ:
Nhập S=aabcdabciagd, khi đó ta phân chia S thành nhiều nhất 7 xâu con như sau: a, a, b, c, dabc, ia, gd, phải thông báo ra màn hình hai dòng:
SO XAU CON LA: 7
VI TRI CUOI CAC XAU LA: 1 2 3 4 8 10 12.