Tải bản đầy đủ (.docx) (11 trang)

BT ON THI HSG TIN 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (93.04 KB, 11 trang )

TỔNG HỢP ĐỀ THI HSG TIN 11
Bài 1 Chuyển đổi các hệ đếm trong tin học:
1) Số nguyên/thực không dấu:
a) 1101 11112 = ?10
b) 75E16 = ?10
c) 234.062510 = ?2
d) 202016 = ?2
2) Số nguyên có dấu:
a) 1110 10012 = ?10
Bài 2. SỐ THÂN THIỆN
Đang tìm hiểu các thuật toán về số tự nhiên, Nguyên phát hiện ra số tự nhiên có rất
nhiều tính chất thú vị. Ví dụ, nhiều số tự nhiên khi tìm ước chung lớn nhất với số đảo
ngược của nó bằng 1, những số như thế được gọi là số thân thiện. Chẳng hạn số 23, số
đảo ngược của nó là số 32, hai số này có ước chung lớn nhất là 1 nên số 23 là số thân
thiện và 32 cũng là số thân thiện.
Bài toán đặt ra: Cho số tự nhiên X (X≥10). Hãy kiểm tra xem số X có là số thân
thiện hay không?
Yêu cầu:
a) Xác định bài toán
b) Hãy mô tả thuật toán giải bài toán trên bằng cách liệt kê từng bước
Bài 3. SỐ HOÀN HẢO
Biết rằng số nguyên dương X là số hoàn hảo nếu X bằng tổng các ước nguyên
dương của nó cộng lại (không tính bản thân nó). Ví dụ 6 là số hoàn hảo vì 6=1+2+3.
Bài toán đặt ra: Cho số nguyên dương N và dãy các số nguyên dương a1, a2, ....aN.
Đếm số lượng các số hoàn hảo có trong dãy.
a) Xác định bài toán
b) Hãy mô tả thuật toán trên bằng sơ đồ khối.
c) Mô phỏng lại thuật toán với bộ INPUT là: N=5; dãy số: {1; 5; 6; 28; 10}
Câu 4. Dãy số
Cho số nguyên dương K (K ≤ 2x1019) và dãy số được xác định như sau:


 f 0 = 0; f1 = 1

 f n = f n −1 + f n − 2 , ∀n ≥ 2, n ∈ Z , n < 90


Hãy kiểm tra xem K có là số thuộc dãy số trên không? Nếu có thì là số thứ bao
nhiêu trong dãy?
Dữ liệu vào: DAYSO.INP
- M dòng (

M ∈ Z ,1 ≤ M ≤ 1000

Dữ liệu ra: DAYSO.OUT

), mỗi dòng ghi một số K duy nhất


- Gồm M dòng, mỗi dòng ghi kết quả tìm được ứng với giá trị trong file dữ liệu vào.Ví
dụ:
DAYSO.INP

DAYSO.OUT

2

YES 3

4

NO


6

NO

6765

YES 20

121393

YES 26

999999999

NO

Ghi chú: Thời gian giới hạn chạy mỗi test là 1 giây.
60% số test có K ≤2x109.
Câu 5. Sắp xếp
Cho một bảng số A gồm n hàng và m cột, các phần tử của bảng số A là số nguyên
dương nhỏ hơn hoặc bằng 2x109.
Yêu cầu: Sắp xếp các phần tử của bảng số A đã cho theo thứ tự tăng dần từ trên xuống
dưới và từ trái qua phải.

Dữ liệu vào: Từ file văn bản SAPXEP.INP gồm:
- Dòng đầu là hai số nguyên N và M (M,N ∈ Z, 1 ≤ M,N ; M x N≤ 108).
- N dòng tiếp theo, mỗi dòng M số nguyên (bảng số A).
Dữ liệu ra: Đưa vào file văn bản SAPXEP.OUT gồm N dòng, mỗi dòng có M số nguyên
(Bảng A sau khi đã sắp xếp).

Ví dụ:
SAPXEP.INP
59
134855858
371388953

SAPXEP.OUT
011344578
011345678
012345788


074410724
178132645
971104040

012345789
013445789

Ghi chú: Thời gian giới hạn chạy mỗi test là 2 giây.
60% số test có N,M ≤100.


Câu 6: Dãy con nguyên tố không giảm dài nhất.
Cho dãy N số nguyên dương a1, a2, .., aN. Một dãy con nguyên tố không giảm là một
đoạn gồm các phần tử nguyên tố liên tiếp nhau thỏa mãn phần tử sau lớn hơn hoặc bằng
phần tử trước. Số phần tử của dãy con đó gọi là độ dài của dãy con.
Yêu cầu: Hãy tìm một dãy con nguyên tố không giảm có độ dài lớn nhất?
Dữ liệu vào: Từ tệp văn bản NGTO.INP gồm:
- Dòng 1 ghi số nguyên N (1 ≤ N ≤ 10000);

- Dòng thứ hai chứa các số nguyên dương ai (i lần lượt từ 1 đến N, 0 ≤ ai ≤ 109 ), các
số cách nhau ít nhất một dấu cách.
Kết quả: Ghi ra tệp văn bản NGTO.OUT gồm hai số nguyên duy nhất là vị trí bắt đầu
dãy con và độ dài lớn nhất tìm được, các số viết nhau một dấu cách.
Ví dụ:
NGTO.INP
10
1 3 2 2 3 5 3 7 9 11

NGTO.OUT
34

Giải thích: Dãy con nguyên tố không giảm dài nhất: 2 2 3 5; vị trí bắt đầu dãy con là 3,
độ dài là 4.
Câu 7. Viết chương trình giải phương trình ax + b = 0?
Câu 8. Viết chương trình giải bài toán sau:
Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó
Hỏi số trâu mỗi loại?
Câu 9. Nhập số nguyên dương n từ bàn phím (chương trình có đoạn kiểm tra giá trị nhập vào của
n). Kiểm tra xem các chữ số của n xuất hiện bao nhiêu lần?
Ví dụ n = 123145, đưa kết quả ra màn hình: số 1 xuất hiện 2 lần, số 2 xuất hiện 1 lần, số
3 xuất hiện 1 lần, số 4 xuất hiện 1 lần, số 5 xuất hiện 1 lần
Câu 10. Nhập số nguyên dương N từ bàn phím. Viết chương trình tính tổng các số nguyên tố
trong đoạn từ 1 đến N?

Bài 11 Bình chọn qua điện thoại



Trong vòng chung kết cuộc thi “ Giọng hát Việt ” các thí sinh được đánh số báo
danh là một số nguyên dương có giá trị không vượt quá 1000. Khán giả xem truyền hình
có thể bình chọn cho thí sinh mình yêu thích bằng cách nhắn tin qua điện thoại di động
Ban tổ chức nhận được tin nhắn hợp lệ của N khán giả (các khán giả được đánh số
từ 1 đến N), khán giả thứ i bình chọn cho thí sinh mang số báo danh ai.
Hãy liệt kê số báo danh của những thí sinh được nhiều khán giả bình chọn nhất
theo thứ tự tăng dần.
Dữ liệu: Vào từ file văn bản BAI1.INP
• Dòng đầu tiên ghi số nguyên dương N là số lượng khán giả có tin nhắn bình chọn
hợp lệ (N≤106)
• N dòng tiếp theo, dòng thứ i ghi số nguyên dương ai là số báo danh của thí sinh mà
khán giả thứ i bình chọn.
Kết quả: Ghi ra file văn bản BAI1.OUT
Danh sách các thí sinh được nhiều khán giả bình chọn nhất theo thứ tự số báo danh tăng
dần
Ví dụ:
BAI1.INP
BAI1.OUT
5
2
3
3
1
3
2
2
Bài 12 Tách số
Ngọc có một xâu văn bản có cả chữ và số. Ngọc muốn tách các số có trong xâu ra và

sắp xếp các số tách được ở xâu ban đầu theo thứ tự tăng dần. Bạn hãy giúp bạn Ngọc tách
các số có trong xâu đó và sắp xếp theo thứ tự tăng dần.
Dữ liệu: Nhập và từ bàn phím một xâu kí tự S gồm các chữ cái tiếng Anh và các chữ số.
Độ dài của xâu không vượt quá 100 có ít nhất một ký tự số.
Kết quả: Đưa kết quả ra màn hình hai dòng:
- Dòng 1 các số được tách ra ở xâu theo thứ tự xuất hiện trong xâu. Hai số liên tiếp in
cách nhau một khoảng trắng. Bỏ đi các số không vô nghĩa bên trái mỗi số (ví dụ 063 chỉ
lấy 63).
- Dòng 2 là dãy số trên nhưng các số được in theo thứ tự giá trị tăng dần. Hai số liên tiếp
cách nhau một khoảng trắng.

Bài 13 Dãy con

Dữ liệu nhập

Dữ liệu xuất

16abd8hai0366va8
8

16 8 366 88
8 16 88 366


Cho dãy N số nguyên dương a 1 , a2 ,...an (10dương S (S<108). Tìm độ dài (số lượng phần tử) nhỏ nhất của dãy con gồm các phần tử
liên tiếp của dãy đã cho có tổng các phần tử lớn hơn hoặc bằng S
Dữ liệu vào: Nhập từ file BAI3.INP, có cấu trúc như sau:
- Dòng đầu tiên ghi hai số nguyên dương N và S
- Dòng thứ hai ghi N số nguyên a1 , a2 ,...an. Hai số liên tiếp ghi cách nhau ít nhất một

dấu cách.
Kết quả: Ghi ra file BAI3.OUT độ dài của dãy con tìm được.
Ví dụ:
BAI3.INP
5 11

BAI3.OUT
3

1 2 3 4 5
Bài 14 Tính diện tích tam giác.
Trong hệ trục tọa độ Decac, cho ba điểm không thẳng hàng A, B, C có tọa độ:
A(x1, y1); B(x2, y2); C(x3, y3).
Yêu cầu: Tính diện tích tam giác ABC.
Dữ liệu vào: Cho trong file văn bản DT.INP, có cấu trúc 3 dòng, mỗi dòng chứa hai số
nguyên xi yi, là tọa độ của một đỉnh của tam giác ABC. Các số được ghi cách nhau ít nhất
một dấu cách. (-2000 ≤ xi, yi≤ 2000)
Dữ liệu ra: Ghi ra file văn bản DT.OUT, theo cấu trúc:
- Dòng 1: Ghi diện tích tam giác tìm được. Làm tròn kết quả đến một chữ số sau dấu
ngăn cách thập phân.
Ví dụ:
DT.INP
DT.OUT
00
0.5
10
01
Bài 15 Tìm số
Cho số nguyên dương X, khi đảo ngược trật tự các chữ số của X ta sẽ thu được một
số nguyên dương Y, Y được gọi là số đảo ngược của X.

Ví dụ: X = 613 thì Y = 316 là số đảo ngược của X.
Số nguyên dương Y được gọi là số nguyên tố nếu nó chỉ có hai ước số là 1 và chính
nó, số 1 không phải là số nguyên tố.
Cho hai số nguyên dương P và Q (1 ≤ P ≤ Q ≤ 2×109; Q - P ≤ 105).
Yêu cầu: Hãy tìm tất cả các số nguyên dương X nằm thỏa mãn P ≤ X ≤ Q và số đảo
ngược của số X là số nguyên tố.
Dữ liệu vào: Cho trong file văn bản TIMSO.INP có cấu trúc như sau:


- Dòng 1: Ghi hai số nguyên dương P Q, hai số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản TIMSO.OUT trên nhiều dòng, mỗi dòng ghi một số
nguyên X tìm dược.
Ví dụ:
TIMSO.INP
TIMSO.OUT
10 19
11
13
14
16
17
Bài 16 Xâu con chung
Cho hai xâu kí tự x và y, hãy tìm xâu ký tự c là xâu con chung của x và y và c có độ dài
lớn nhất có thể được.
Ví dụ: x=ab132sc và y=1abdc thì c=abc.
Bài 17: Bài toán thay thế
Hai file DLIEU1.TXT và DLIEU2.TXT được cho như sau:
File DLIEU1.TXT chứa một đoạn văn bản bất kỳ.
File DLIEU2.TXT chứa không quá 50 dòng. Mỗi dòng gồm 2 từ: Từ đầu là từ đích
và từ sau là từ nguồn. Hãy lập chương trình tìm trong file DLIEU1.TXT tất cả các từ là từ

đích và thay thế chúng bằng các từ nguồn tương ứng. Kết quả đợc ghi vào file
KETQUA.TXT ( Đó là đoạn văn bản tương tự như trong file DLIEU1.TXT nhưng được
thay thế từ đích bởi từ nguồn ).Ví dụ: File DLIEU1.TXT chứa đoạn văn bản:
Nam hoc sap ket thuc roi, ban co zui khong? Chuc cac ban don mot ky nghi he that
zui ze va hanh phuc.
File DLIEU2.TXT chứa các dòng sau:
ban

em

zui

vui

ze

ve

File KETQUA.txt sẽ chứa đoạn văn bản sau:
Nam hoc sap ket thuc roi, ban co vui khong? Chuc cac ban don mot ky nghi he that vui
ve va hanh phuc.
Bài 18. Dãy số
Cho một dãy A gồm N số nguyên a1, a2, .., aN và một số nguyên K.


Yêu cầu: Hãy đưa ra các số có số lần xuất hiện trong dãy A từ K lần trở lên (Mỗi số chỉ
xuất 1 lần)
Dữ liệu vào: tệp văn bản DAYSO.INP:
- Dòng 1: Ghi hai số N, K giữa 2 số cách nhau 1 dấu cách (1 ≤ N ≤ 10000, (1 ≤ K≤
10000).

- Dòng 2: Ghi các số nguyên ai (i lần lượt từ 1 đến N, -109 ≤ ai ≤ 109 ), các số cách nhau ít
nhất một dấu cách.
Kết quả: ghi ra tệp DAYSO.OUT: Ghi các số thỏa mãn điều kiện trên, trường hợp không
có số nào thỏa mãn thì xuất số -1
Ví dụ:
DAYSO.INP
DAYSO.OUT
9 2
37
2 3 6 4 3 7 7 9 -10
Bài 19. Dãy số Fibonaci
Như các bạn đã biết dãy số Fibonaci là dãy 1, 1, 2, 3, 5, 8, .... Dãy này cho bởi công thức
đệ qui sau:
F1 = 1, F2 =1, Fn = Fn-1 + Fn-2 với n > 2
1. Chứng minh khẳng định sau:
Mọi số tự nhiên N đều có thể biểu diễn duy nhất dưới dạng tổng của một số số trong dãy
số Fibonaci.
N = akFk + ak-1Fk-1 + .... a1F1
Với biểu diễn như trên ta nói N có biểu diễn Fibonaci là akak-1...a2a1.
Tệp Bai3.Inp chứa số tự nhiên N
Tệp Bai3.Out ghi cách biểu diễn Fibonaci của số N.
Bài 20 Đoạn thẳng chia đều
Trên trục tọa độ Ox, cho N điểm khác nhau P 1, P2, .., PN. Đoạn thẳng AB được gọi là
đoạn thẳng chia đều nếu nó được xác định bởi 3 điểm cho trước A, B, M sao cho M là
trung điểm của AB.
Yêu cầu: Cho biết tọa độ của N điểm P 1, P2, .., PN. Hỏi có bao nhiêu đoạn thẳng chia đều
được tạo ra từ các điểm đã cho?
Dữ liệu: vào từ tệp văn bản CHIADEU.INP gồm:
- Dòng 1: ghi số nguyên dương N;
- Dòng 2: ghi lần lượt các số x1, x2, .., xN (|xi| ≤ 105) tương ứng là tọa độ của các

điểm P1, P2, .., PN.
Kết quả: ghi ra tệp văn bản CHIADEU.OUT gồm một số duy nhất là kết quả tìm được của
bài toán.
Ví dụ:


CHIADEU.INP

5
3 -1 2 5 4

CHIADEU.OUT

3

Giải thích

Đoạn 1: 3 -1, trung điểm 2
Đoạn 2: 2 4, trung điểm 3
Đoạn 3: 3 5, trung điểm 4

Giới hạn:
- Có 20/35 test có N ≤ 200, xi là số nguyên (i=1..N), tương ứng 4,0 điểm;
- Có 10/35 test có 200 < N ≤ 1000, xi là số nguyên (i=1..N), tương ứng 2,0 điểm;
- Có 5/35 test có 500 < N ≤1000, xi là số thực (i=1..N), tương ứng 1,0 điểm.
Ghi chú: Các số thực trong bộ test được so sánh là bằng nhau nếu trị tuyệt đối hiệu giữa
chúng < 10-10
Bài 21 Dãy con có tổng lớn nhất
Cho dãy số nguyên a1, a2, .., aN. Một dãy con liên tiếp có dạng ai, ai+1, .., aj với 1 ≤ i ≤ j
≤ N, tổng của dãy con liên tiếp ai, ai+1, .., aj là ai + ai+1 + .. + aj.

Yêu cầu: Cho dãy số nguyên a1, a2, .., aN. Tìm dãy con liên tiếp có tổng lớn nhất?
Dữ liệu: vào từ tệp văn bản TONGMAX.INP gồm:
- Dòng 1: ghi số nguyên dương N;
- Dòng 2: ghi lần lượt các số nguyên a1, a2, .., aN (|ai| ≤ 106, i=1..N)
Kết quả: ghi ra tệp văn bản TONGMAX.OUT gồm một số duy nhất là tổng của dãy con
tìm được.
Ví dụ:
Giải thích
TONGMAX.INP
TONGMAX.OUT
6
18
Dãy con liên tiếp có tổng lớn
3 8 -2 4 5 -1
nhất là: 3 8 -2 4 5
Giới hạn:
- Có 12/25 test có n≤200, tương ứng 2,4 điểm;
- Có 8/25 test có 200- Có 5/25 test có 1000Bài 22 Xâu con đối xứng dài nhất
Cho xâu ký tự S, ta có thể lấy ra từ S các ký tự để tạo ra xâu con của nó. Nếu ta lấy
ra các ký tự liên tiếp nhau thì ta được xâu con các ký tự liên tiếp. Ta cũng có thể lấy ra lần
lượt các ký tự từ đầu xâu về cuối xâu ở vị trí bất kỳ và ghép chúng lại thành xâu theo thứ
tự ấy, lúc đó ta được xâu con các ký tự ở vị trí bất kỳ. Độ dài của xâu con cũng chính là
số lượng ký tự trong xâu con. Một xâu là đối xứng nếu đọc nó từ phải sang trái cũng thu
được kết quả giống như đọc từ trái sang phải.


Ví dụ: cho xâu S là ‘thi hsg tin hoc cap tinh’, ta có xâu ‘hsg tin hoc’ là một xâu con
các ký tự liên tiếp, còn ‘thi tin hoc’ là một xâu con các ký tự ở vị trí bất kỳ. Xâu ‘xaxa’

không phải là xâu đối xứng, xâu ‘xaax’ là xâu đối xứng có độ dài là 4.
Yêu cầu: Cho xâu S, hãy tìm xâu con đối xứng dài nhất?
Dữ liệu: vào từ tệp văn bản SUBSTR.INP ghi xâu S.
Kết quả: ghi ra tệp văn bản SUBSTR.OUT gồm:
- Dòng 1: ghi độ dài của xâu con đối xứng dài nhất gồm các ký tự liên tiếp;
- Dòng 2: ghi độ dài của xâu con đối xứng dài nhất gồm các ký tự ở vị trí bất kỳ.
Ví dụ:
SUBSTR.INP
SUBSTR.OUT
Giải thích
xaxaax
4
- Xâu con các ký tự liên tiếp đối xứng dài
5
nhất: xaax (xaxaax)
- Xâu con các ký tự ở vị trí bất kỳ đối
xứng dài nhất: xaxax (xaxaax, xaxaax)
hoặc xaaax (xaxaax)
Giới hạn:
- Có 10/15 test có độ dài của xâu ≤ 200, tương ứng 2,0 điểm;
- Có 5/15 test có 200 < độ dài của xâu ≤1000, tương ứng 1,0 điểm.
Lưu ý: Với mỗi test, nếu thí sinh chỉ tìm được một trong 2 kết quả thì vẫn phải ghi đầy
đủ 2 số trên 2 dòng theo định dạng của tệp kết quả (kết quả nào không tìm được thì ghi
một số bất kỳ), trong test đó kết quả đúng của xâu con các ký tự liên tiếp sẽ đạt 70% điểm
của test, kết quả đúng của xâu con các ký tự ở vị trí bất kỳ đạt 30% số điểm của test.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×