Sở GD&ĐT Nghệ An Kỳ chi chọn giáo viên dạy giỏi tỉnh
Cấp THPT chu kỳ 2008 - 2011
Môn thi: Tin học(phần lập trình)
Thời gian: 100 phút( không kể thời gian giao đề)
(Đề gồm 2 trang)
Bài 1( 5.0 điểm) Dãy hình sin
Cho dãy N số nguyên a
1
,a
2
, a
N
, trong đó không có 2 số nào liền kề bằng
nhau. Dãy đợc gọi là hình sin bậc M nếu có M đoạn tăng, giảm ( hoặc giảm,
tăng) xen kẽ nhau. Dãy không giảm (hoặc không tăng) đợc gọi là dãy hình sin
bậc 0.
Ví dụ dãy 1 2 5 2-1-6 -2 7 là dãy hình sin bậc 3.
Yêu cầu: Cho dãy N số nguyên, cho biết dãy đó hình sin bậc mấy?
Dữ liệu vào cho từ file văn bản DAYSO.INP có cấu trúc sau:
- Dòng đầu tiên ghi số nguyên dơng N ( 2 < N <= 1000) là số phần tử của
dãy.
- Dòng thứ i trong N dòng tiếp theo ghi một số nguyên a
i
(
32000
a
i
) là
số thứ i của dãy
Kết quả ghi ra File văn bản DAYSO.OUT, ghi số M là bậc hình sin của
dãy.
Bài 2 ( 4.0 điểm) Số Hoàn thiện
Số tự nhiên N đợc gọi là số hoàn thiện, nếu tổng các ớc số của nó (không
kể nó) bằng N.
Ví dụ số 28 là số hoàn thiện vì 28 = 1 + 2 + 4 + 7 + 14.
Yêu cầu: Cho trớc 2 số tự nhiên R, S ( R< S ). Hãy viết chơng trình tìm
các số hoàn thiện N nằm trong đoạn [R;S] ( R
N
S).
Dữ liệu: Vào từ file văn bản SO.INP gồm 2 số R, S ( 1< R< S < 2.10
6
) viết
trên một dòng, mỗi số cách nhau một dấu cách.
Kết quả: Ghi ra file văn bản SO.OUT chỉ một dòng duy nhất gồm các số
hoàn thiện tìm đợc trong đoạn [R;S] ghi theo thứ tự tăng dần, nếu không có số
nào thì ghi -1.
Bài 3:( 4.0 điểm) Đờng đi đến số 0
Mỗi một số nguyên dơng đều có thể biểu diễn dới dạng tích của 2 số
nguyên dơng X, Y sao cho X
Y. Nếu nh trong phân tích này ta thay X bởi X-1
còn Y bởi Y+1 thì sau khi tính tích của chúng ta thu đợc hoặc là một số nguyên
dơng mới hoặc là số 0 .
Ví dụ: Số 12 có 3 cách phân tích 1*12, 3*4, 2*6. Cách phân tích thứ nhất cho ta
tích mới là 0: (1-1)*(12+1) = 0, cách phân tích thứ hai cho ta tích mới 10: (3-
1)*(4+1) = 10, còn cách phân tích thứ ba cho ta 7: (2-1)*(6+1)=7. Nếu nh kết
quả là khác không ta lại lặp lại thủ tục này đối với số thu đợc. Rõ ràng áp dụng
liên tiếp thủ tục trên, cuối cùng ta sẽ đến đợc số 0, không phụ thuộc vào việc ta
chọn cách phân tích nào để tiếp tục.
Yêu cầu: Cho trớc số nguyên dơng N (1
N
10000), hãy đa ra tất cả
các số nguyên dơng khác nhau có thể gặp trong việc áp dụng thủ tục đã mô tả
đối với N.
Dữ liệu: Vào từ file văn bản Zeropath.Inp chứa số nguyên dơng N.
Kết quả: Ghi ra file văn bản Zeropath.Out:
Dòng đầu tiên ghi K là số lợng số tìm đợc.
Dòng tiếp theo chứa K số tìm đợc theo thứ tự tăng dần bắt đầu từ số 0.
Đề chính thức
Lu ý: Có thể có số xuất hiện trên nhiều đờng biến đổi khác nhau, nhng nó chỉ đ-
ợc tính một lần trong kết quả .
Ví dụ:
ZEROPATH.INP ZEROPATH.OUT
12 6
0 3 4 6 7 10
hết
Chú ý: chơng trình giải các bài 1, bài2, bài 3 lần lợt ghi lên đĩa với tên File lần
lợt là Bai1,pâs, Bai2.pas, Bai3.pas