ĐỀ CHÍNH THỨC :
Tổng quan | Bài 1 | Bài 2 | Bài 3 | Bài 4 |
Tên bài làm | BL1.PAS | BL2.PAS | BL3.PAS | BL4.PAS |
Dữ liệu vào | Nhập từ bàn phím | Nhập từ bàn phím | RECT.INP | FIBO.INP |
Dữ liệu ra | In ra màn hình | In ra màn hình | RECT.OUT | FIBO.OUT |
Giới hạn | 1 giây | 1 giây | 2 giây | 2 giây |
Bài 1:(5 điểm)
Viết chương trình nhập vào từ bàn phím một số N nguyên dương
(1<=N<32767). In ra màn hình các thông tin sau:
a) Số các ước số nguyên dương của số N.
b) Tổng số các ước số nguyên dương của N.
Ví dụ: Nhập từ bàn phím N = 10
In ra màn hình:
Co tat ca 4 uoc so
Tong cac uoc la 18
Bài 2:(5 điểm)
Nhập từ bàn phím một xâu kí tự S và một kí tự K.
Hãy in ra màn hình số lượng kí tự K có trong xâu kí tự S và các vị trí xuất hiện của kí tự K trong xâu S. Nếu không có kí tự K trong xâu S thì in ra màn hình dòng thông báo:
Khong co
Ví dụ:
Xâu kí tự S và kí tự K nhập từ bàn phím | In ra màn hình |
KITHITINHOCTRETHANHPHO T | 4 3 6 12 15 |
SOGIAODUC M | Khong co |
Bài 3: RECTANGLE (7,5 điểm)
Trên giấy kẻ ô khổ N x N có vẽ một số hình chữ nhật. Mỗi hình chữ nhật được tạo ra từ các ô nguyên vẹn, các hình chữ nhật khác nhau không chồng lên nhau và không tiếp xúc nhau (Ví dụ : Hình vẽ dưới đây có 4 hình chữ nhật).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cho mảng A có kích thước N x N, trong đó A[i,j]=1 nếu ô [i,j] thuộc một hình chữ nhật nào đó, còn A[i,j] =0 trong trường hợp ngược lại.
Hãy viết chương trình xác định số các hình chữ nhật có trong bảng.
Dữ liệu vào: Từ File văn bản RECT.INP có cấu trúc như sau:
- Dòng đầu tiên ghi số nguyên dương N (N<=250).
- N dòng tiếp theo mỗi dòng ghi N số 0 hoặc 1 là các phần tử của mảng, mỗi số viết cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra File văn bản RECT.OUT gồm duy nhất một số là số hình chữ nhật tìm được.
Ví dụ:
RECT.INP | RECT.OUT |
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 |
7 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 | 4 |
Bài 4: FIBONACCI (7,5 điểm)
Dãy số Fibonacci được định nghĩa như sau:
U1 = U2 = 1; Un+1 = Un + Un-1 (với mọi số nguyên dương n, n > 1).
Như vậy, dãy số Fibonacci có dạng sau: 1, 1, 2, 3, 5, 8, 13, 21, 34,…
Với một số tự nhiên x bất kỳ khác 0 ta có thể phân tích thành tổng các số Fibonacci khác nhau (số số hạng của tổng có thể là từ 1 trở lên). Chẳng hạn x = 9, khi đó, ta có:
9 = 1 + 8 hoặc 9 = 1 + 3 + 5
Trong hai cách phân tích trên thì cách thứ hai có số số hạng nhiều nhất (3 số hạng).
Yêu cầu: Cho trước một số nguyên dương x (x <= 10000). Hãy cho biết, nếu biểu diễn x thành tổng của các số Fibonacci khác nhau thì số số hạng nhiều nhất của một tổng là bao nhiêu?
Dữ liệu vào: Cho trong file văn bản FIBO.INP chỉ ghi một số nguyên dương x (x<=10000).
Dữ liệu ra: Ghi ra file văn bản FIBO.OUT gồm một số nguyên dương n duy nhất là số số hạng của tổng có số số hạng nhiều nhất trong các tổng.
Ví dụ:
FIBO.INP | FIBO.OUT |
9 | 3 |
Chú ý: Đề thi gồm có 2 trang - Giám thị coi thi không được giải thích gì thêm
ĐÁP ÁN PHẦN LẬP TRÌNH
Bài 1:( 5 điểm) (Có 5 Test ứng với 5 giá trị của N, đúng mỗi Test cho 1 điểm. Không yêu cầu chính xác các từ trong câu trả lời , chủ yếu đúng số ước và tổng số các ước)
Nhập N vào từ bàn phím :
Stt | N | Kết quả trên màn hình |
1 | 10 | Co tat ca 4 uoc so Tong cac uoc la 18 |
2 | 50 | Co tat ca 6 uoc so Tong cac uoc la 93 |
3 | 707 | Co tat ca 4 uoc so Tong cac uoc la 816 |
4 | 5005 | Co tat ca 16 uoc so Tong cac uoc la 8064 |
5 | 32766 | Co tat ca 16 uoc so Tong cac uoc la 67584 |
Bài 2:( 5 điểm)
Có 5 bộ TEST chạy đúng mỗi bộ cho 1 điểm
Stt | Xâu kí tự S và kí tự K | In ra màn hình |
1 | KITHITINHOCTRETHANHPHO T | 4 3 6 12 15 |
2 | SOGIAODUC M | Khong co |
3 | NGONGUPASCAL A | 2 8 11 |
4 | BANADANANG N | 3 3 7 9 |
5 | HOIANMYSON O | 2 2 9 |
Bài 3:( 7,5 điểm)
Có 6 bộ TEST : 3 Test đầu chạy đúng mỗi bộ cho 1,5 điểm,3 Test cuối chạy đúng mỗi bộ cho 1 điểm
Stt | RECT.INP | RECT.OUT |
1 | 3 1 0 0 0 0 0 1 1 1 | 2 |
2 | 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 |
3 | 7 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 | 4 |
4 | 15 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 | 6 |
5 | Nội dung như File RECT5.INP | 20 |
6 | Nội dung như File RECT6.INP | 125 |
Bài 4:( 7,5 điểm)
Có 5 bộ TEST: Chạy đúng mỗi bộ cho 1,5 điểm.
Stt | FIBO.INP | FIBO.OUT |
1 | 9 | 3 |
2 | 50 | 6 |
3 | 100 | 7 |
4 | 6763 | 17 |
5 | 9989 | 13 |