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

Chuyen de toán tin

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 (297.02 KB, 14 trang )

Chun đề : TỐN HỌC TRONG LẬP TRÌNH
Thời gian : 03 buổi
Số lượng bài tập : 15 bài
Bao gồm : + Cơng thức Tốn học.
+ Kiến thức Tốn học.
+ Tư duy Tốn.
1/ Phương trình, Hệ phương trình (các hệ số được nhập từ file)

1.1 Giải PT ax + b = 0
1.2 Giải bất PT

ax + b > 0 hoặc ax + b < 0
a1 x + b1 y = c1

1.3 Giải hệ PT 

ax+b y=c
 2
2
2
2
ax + bx + c = 0
1.4 Giải PT bậc hai dạng :
1.5 Tìm 2 số biết tổng và tích theo PT bậc hai
ax2 + bx + c = 0
1.6 Tìm nghiệm nguyên của PT
ax3 + bx2 + cx + d = 0
1.7 Tìm nghiệm nguyên của PT
1.8 Tìm nghiệm nguyên của PT ax + by = c (a, b, c là những số nguyên).
ax3 + bx2 + cx + d = 0 .
1.9 Tìm nghiệm hữu tỉ của PT


2/ Tính giá trị của đa thức :
P = a xn + a xn−1 + a xn−2 + ... + a x2 + a x + a = 0 tại x = x
n
n−1
n−2
2
1
0

các
số
nguyên.
ai ( i = 0, n)
Với N và các
Dữ liệu vào có dạng
N
an an−1 an ...
−2
a2
x0

0

a1 a0

3/Tam giác
3.1 Nhập vào ba số nguyên, kiểm tra xem chúng có là ba cạnh của một tam giác hay khơng ? nếu
có thì đó là tam giác nhọn, vuông hay tù ?và in ra chu vi, diện tích.
3.2 Nhập vào một số nguyên dương X (3 ≤ X ≤ 109 ) . Hãy tách X thành một bộ
sao cho chúng là ba cạnh của một tam giác vuông

ba số nguyên dương ( a;b; c )

1


4/Mặt phẳng tọa độ.
4.1 Cho tọa độ hai điểm A , B. Tính độ dài (khoảng cách AB) đoạn thẳng AB.

4.2 Cho tọa độ ba điểm A, B, C .Xác định chu vi, diện tích ∆ABC
4.3 Cho tọa độ 2 điểm A, B. Xác định tọa độ trung điểm M của đoạn thẳng AB.
4.4 Cho tọa độ 4 điểm A, B, C không thẳng hàng.
Hãy xác định tọa độ điểm D sao cho ABCD là hình bình hành
4.5 Cho trước tọa độ 3 điểm A, B, C.Xác định tọa độ điểm D để ABCD là hình chữ nhật.
4.6 Cho trước tọa độ của N cặp điểm trong mặt phẳng tọa độ.
-Tìm cặp điểm có khoảng cách lớn nhất.
-Tìm điểm mà tổng các khoảng cách từ điểm đó đến các điểm còn lại là nhỏ nhất.
5/Bất đẳng thức
5.1 Bất đẳng thức Cauchy
+ Cho 2 số không âm
ab , ngược lại :
a+b
a+b


ab
Suy ra :
2
2



- Nếu hai số dương có tích khơng đổi thì tổng nhỏ nhất khi hai số đó bằng nhau.
- Nếu hai số dương có tổng khơng đổi thì tích lớn nhất khi hai số bằng nhau. Suy ra cho
ba số không âm, N số không âm.
5.2 Nhập vào số nguyên dương X
Hãy tách X thành 2 nguyên dương a và b sao cho a + b = X và tích của a.b là lớn nhất.
Ví dụ : 4 = 2 + 2; 5 = 2 + 3; …
5.3 Nhập vào số nguyên dương X
Hãy tách X thành 3 nguyên dương a và b sao cho a + b + c = X và tích a.b.c là lớn nhất.
Ví dụ : 9 = 3 + 3 + 3;10 = 3 + 3 + 4
5.4 Nhập vào số nguyên dương X
Hãy tách X thành 2 nguyên dương a và b sao cho a . b = X và tổng a + b là nhỏ nhất.
Ví dụ :
= 10
25 = 5.5 = 1.25 = a.b và ( a + b )
min6.12 = 8.9 tổng nhỏ nhất 8 + 9 = 17
72 = 1.72 = 2.36 = 3.24 = 4.18 =
Tìm từ 

72  ra 1 phía thấy ước là U và 72 :U = V cũng là ước thì nhận ngay


cặp (U, V)
5.5 Nhập vào số nguyên dương X
Hãy tách X thành 3 nguyên dương a, b, c sao cho a . b . c = X và tổng a + b + c là nhỏ nhất.
5.6 Tách số nguyên dương X thành tích ba số nguyên dương a, b, c sao cho tổng
a + 2b + 3c là lớn nhất.
1/ Làm tròn
Bờm có nhiệm vụ phải viết chương trình điều khiển rơ bốt. Là người lập trình có tay
nghề cao, nhưng Bờm cũng có lúc đãng trí và phạm những sai lầm ngớ ngẩn.
Khi đang viết module làm trịn số thì trên tivi phát chương trình truyền hình trực tiếp

trận đấu bóng của đội mà Bờm u thích. Vừa xem bóng đá vừa lập trình, Bờm đã cài
đặt khơng chính xác quy trình làm trịn số thực trong phạm vi từ 0 đến 1000. Module
được viết theo giải thuật sau: chương trình xét chữ số cuối cùng, nếu nó lớn hơn 4 thì
cộng 1 vào chữ số trước cuối cùng, nếu chữ số trước cuối cùng này là 9 thì thay nó
bằng 0 và cộng 1 vào chữ số trước cuối cùng, sau đó xóa chữ số cuối cùng và cứ làm
như thế chừng nào còn cần phải làm tròn. Chẳng hạn, nếu phải làm tròn số 4.6445 cho
đến 1 chữ số sau ở phần thập phân, module đã viết cho kết quả như sau:


Khi hiệu chỉnh chương trình, Bờm phát hiện ngay ra lỗi, nhưng để đánh giá mức độ
trầm trọng của lỗi, Bờm tự hỏi: khơng biết có bao nhiêu số có đúng chữ số ở phần
thập phân theo giải thuật đã viết sẽ cho kết quả làm tròn đúng bằng số th ực cho
trước?
Dữ liệu (rounding.inp)
• Dịng : số ngun
• Dịng 2: số thực
với không quá
chữ số ở phần thập phân.
Kết quả (rounding.out)
• Dịng
số ngun là số lượng số tìm được.
Ví dụ
rounding.i
rounding.o
np
ut
2
10
1.1
69

100000
0.000000000000000000000000000
00294
56730482487103533819801338965
007
821
10000000000000000000000000000000000
2.000000000054712244775436238 000000
79065
00000000000000000000000000000000000
92044367879935572907143104645 000000
00383
00000000000000000000000000000000000
245792376746008
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000

000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000


000000
00000000000000000000000000000000000
000000
00000000000000000000000000000000000
000000
000

Đề thi HSG Tin học lớp 9 huyện Bình Xuyên, 2012 – 2013.
2/ Bài 7. Tên file chương trình đặt là BL1.PAS
Nhập từ bàn phím số nguyên dương N (N≤1000). Hãy thơng báo ra màn hình:
+Số cách phân tích N thành tổng của không quá 2 số nguyên tố (2 số khơng bắt
buộc phải phân biệt).
+Trong các cách phân tích ở trên đưa ra cách mà tích hai số hạng trong tổng
là lớn nhất (nếu chỉ có một số hạng thì tích coi bằng chính số đó).
Ví dụ: Nhập N=10, ta có hai cách phân tích là: 10=3+7=5+5, khi đó thơng báo
ra màn hình 2 dịng:



SO CACH PHAN TICH LA: 2.
CACH PHAN TICH CO TICH LON NHAT LA: 5+5
3/ Bài 20*BỘI SỐ CHUNG NHỎ NHẤT
(1 < N < 100)
Cho trước số tự nhiên N
. Xét tất cả các phân tích N thành tổng các số tự nhiên
N = a1 + a2 + ... +
(a , a ,..., ak )
(1). Tìm số lớn nhất của BSCNN 1 2
trên tập hợp các bộ số
ak
(a1, a2,..., thỏa mãn (1)
ak )
Dữ liệu vào từ file văn bản BSCNN.INP : là một số N.
Dữ liệu ra : ghi ra file văn bản BSCNN.OUT,gồm hai dòng
-dòng thứ nhất ghi giá số max tìm được
-Dịng thứ hai ghi bộ số
,..., ak )

(a1 , a2

tương ứng, các số cách nhau bằng dấu cách

Ví dụ:
BSCNN.INP
10

BSCNN.OU
T
30

235

(Đề thi đề nghị môn Tin học lớp 10, THPT Chuyên Lê Khiết- Quảng Ngãi4/ BÀI 1.TÍNH TỔNG
Trong một cuộc thi, người ta lần lượt cho hiện ra các số của một dãy gồm N số nguyên
a1 , a2 , a3 , ,
không
và cứ lặp đi lặp lại như thế trên một màn hình lớn. Mỗi người
âm
aN
dự thi quan sát trên màn hình và được đề nghị tính tổng của K số nguyên liên
tiếp xuất hiện trên màn hình bắt đầu từ số nguyên thứ B.
Yêu cầu: Viết chương trình giúp cho những người dự thi tính được tổng như đề nghị.
Dữ liệu vào: chứa trong các tệp văn bản TEST101.INP, TEST102.INP, …,
TEST110.INP. Mỗi tệp gồm hai dòng:
+ Dòng đầu tiên ghi ba số nguyên N, K và B (theo thứ tự), 1 ≤ N, K ≤100, 1 ≤ B ≤ 109.


+ Dịng thứ hai chứa dãy số ngun khơng a1 , a2 , a3 , , aN . Các số cách nhau ít
âm nhất 1 khoảng trắng
Kết quả: Ghi kết quả tổng cần tính
của từng test vào phiếu trả lời.
Ví dụ:
TONG.IN
P
5 7 154
12345
Thi THT
tỉnh Nam
Định khối
THPT


5. Bài 1. Số hữu
tỉ
Số hữu tỉ là số
viết được dưới
a
dạng
với a,b là những số
b
nguyên và b ≠ 0 . Một số
hữu tỉ
khi viết dưới dạng thập phân thì
chỉ có một trong hai dạng là số
thập phân hữu hạn hoặc số thập
phân vô hạn tuần hoàn. Hãy xác
định dạng thập phân của một số
hữu tỉ
Dữ liệu (Rational.inp):
-Dòng 1: ghi số nguyên n
- n dòng tiếp theo mỗi dòng ghi hai
giá trị cách nhau một dấu cách lần
lượt là tử số và mẫu số của một
phân số biểu diễn một số hữu tỉ.
Kết quả (Rational.out):
n dòng, mỗi dòng ghi giá trị 1 hoặc
0 tương ứng với số hữu tỉ đó là số
thập phân hữu hạn hay vơ hạn tuần
hồn.
Ví dụ: du=0 huu han, nguoc lai vo han
Rational.inp

3
54
178 -100
1 14

1
1
0
Đề khảo
sát chọn
Đội tuyển
chính


thức Tin 9, 2012 –
2013
6. BÀI TOÁN KHOẢNG CÁCH
Giả sử có 2 điểm A(x1 ; y1 ) và B (x2 ; y2).
Khoảng cách hai điểm A và B cho bởi công
thức Cho tọa độ của n điểm trên mặt phẳng
tọa độ. Người ta muốn biết những cặp điểm
nào có khoảng cách lớn nhất.
Nhiệm vụ
Lập trình cho biết toạ độ những cặp điểm có khoảng
cách lớn nhất và tính khoảng cách đó.


Dữ liệu vào : Dữ liệu vào được lưu trên tập tin văn bản KHCACH.INP (hoặc nhập từ bàn
phím) gồm nhiều dòng.
+ Dòng đầu tiên : số n ( n<100);

+ n dòng còn lại, mỗi dòng ghi hai số nguyên lần lượt ứng với hoành độ và tung độ của từng
điểm.
Dữ liệu ra : Dữ liệu ra được lưu trên tập tin văn bản KHCACH.OUT (hoặc xuất ra màn
hình) gồm nhiều dòng :
- - Dòng thứ nhất ghi khoảng cách lớn nhất ( làm tròn hai số lẻ thập phân );
-- Các dòng còn lại ghi toạ độ từng cặp điểm tương ứng.
Ví dụ :
KHCACH.INP( hoặc nhập từ bàn phím)
7
-5 -5
-2 -1
11 -1
12 -5
-5 3
-4 9
9 11
KHCACH.OUT ( hoặc xuất ra màn hình )
21.26
-5 -5 9 11
-4 9 12 -5
Trong ví dụ này có hai cặp điểm (-5,-5) (9,11) và ( -4,9) (12, -5) có cùng khoảng cách là
21.26 là khoảng cách lớn nhất giữa các cặp điểm trên.
7. BIỂU DIỄN PHÂN SỐ
Một phân số ln ln có thể được viết dưới số thập phân hữu hạn hoặc vô hạn tuần hồn.
Ví dụ:
23/5
=

4.6


3/8

=

0.375

1/3

=

0.(3)

45/56

=

0.803(571428)

....
Trong các ví dụ trên thì các chữ số đặt trong dấu ngoặc chỉ phần tuần hoàn của số thập phân.
Dữ liệu vào : trong file văn bản PHANSOTP.INP gồm :
-Dòng 1: hai số A và B (cách nhau 1 dấu cách) tương ứng là tử số và mẫu số của một phân số.
Dữ liệu ra : trong file văn bản PHANSOTP.OUT gồm :
-Dòng 1: ghi kết quả viết dưới dạng thập phân tương ứng


Ví dụ :
PHANSOTP.INP
17


PHANSOTP.OUT
0.(142857)

Đề thi HSG tỉnh Tuyên Quang, 2010 - 2011
9/Tổ Ong.
Tổ ong bao gồm nhiều ơ giống nhau hình
lục bát. Các ô này để ở, chứa mật, sáp, ong non, .
. . Ban đầu ong xây một ô. Sau đó xây tiếp các ơ
kề cạnh với ơ ban đầu, làm thành lớp thứ hai, sau
đó xây tiếp các ơ kề cạnh với ô ở lớp thứ hai, làm
thành lớp thứ 3, . . .
Người ta tìm thấy một tổ ong lớn có tới n lớp.
Hãy xác định số ơ của tổ ong tìm thấy.
Dữ liệu: Vào từ file văn bản beehive.inp gồm
một dòng chứa số nguyên n (1 ≤ n ≤ 109).
Kết quả: Đưa ra file văn bản beehive.out một số ngun – số lượng ơ trong tổ ong.
Ví dụ:
beehive.inp
4

beehive.out
18
Đề thi HSG Tin 9 huyện Vĩnh Tường 2011 – 2012.


10/Tuổi của cha hiện nay là b tuổi, tuổi của con là c tuổi (b-c > 0 và b, c là các số nguyên
dương). Hãy viết chương trình (với b, c được nhập từ bàn phím) để kiểm tra xem tuổi cha có
gấp đơi tuổi con hay khơng? Nếu đúng thì đưa ra màn hình thơng báo “hiện nay tuổi cha gấp
đơi tuổi con”; trường hợp ngược lại, hãy tính số năm n (trước đó hoặc sau đó) tuổi cha gấp
đơi tuổi con và đưa ra màn hình thơng báo “n năm trước đây tuổi cha gấp đôi tuổi con” hay

“sau n năm tuổi cha sẽ gấp đôi tuổi con”.
11/ N! tăng rất nhanh, ví dụ :5!=120 ,10!=3628800. Một cách để xác
địnhcác số lớn nhã vậy ngãời ta chỉ ra số lần xuất hiện các số
nguyên tố trong phân tích cđa nã ra thõa sè nguyªn tè. VÝ dơ 825
cã thể xác định nhã sau : (0 1 2 0 0 1) có nghĩa là 825= 20
*31*52 *70 *111 .
+Dữ liệu vào trong file văn bản DULIEU.INP trong đóchứa số
nguyên dãơng N(1<=N<=16000)
+Kết quả đãa ra màn hình dÃy các số lần xuất hiện các số
nguyên tố trong phân tích của N!
VÝ dơ :
DULIEU.INP
10

DULIEU.OUT
8421

12/ Cho số tự nhiên N, hãy tìm các số tự nhiên a sao cho a! có N
chữ số. Input : "Giai thua.inp" số N.
Output:"Giaithua.out" các số a tìm được, mỗi số cách nhau 1 khoảng trắng. Nếu khơng tìm
được thì ghi 0.
Ví dụ :
Giaithua.Inp

Giaithua.Out

1

1 2 3
(Đề thi đề nghị môn Tin học lớp 10, THPT chuyên Tiền Giang)


13/ CHỮ SỐ THỨ N
Khi viết các số tự nhiên tăng dần từ 1, 2, 3, ...liên tiếp nhau, ta nhận được một dãy các chữ
số vơ hạn Ví dụ : 12345678910111213141516171819202122232425....
Yêu cầu: hãy tìm chữ số thứ n của dãy vô hạn trên.
Dữ liệu vào từ file NUMBER.INP gồm một số dòng, mỗi dòng ghi một số nguyên dương N (N<109)


Kết quả ghi ra file NUMBER.OUT với mỗi số N đọc từ file NUMBER.INP ghi trên dòng
tương ứng chữ số thứ N của dãy.
Ví dụ:
NUMBER.IN
P

NUMBER.OUT

5

5

10

1

54

3

85


7

Uses crt;Var k: longInt;(*--------------------------------------------*)
Function chuso(NN: longInt):char;
Var st:string[10]; dem,M:longInt;
Begin
dem:=0; M:=1;
Repeat str(M,st);
dem := dem+length(st);
inc(M); Until dem >= NN;
chuso := st[length(st) - (dem - NN)] (*-------------------------------------*)
BEGIN
clrscr;
write('Nhap k:'); Readln(k);
Writeln('Chu so thu', k,'cua day vo han cac so nguyen khong am');
write('123456789101112... la:', chu so(k));
Readln;
END.
14/
B i 1: (6 ®iĨm) Mét người khi đãợc hỏi về tuổi của mình, cho biết:
Nếu thêm ngày sinh của tôi vào tổng các bình phãơng các chữ số tuổi
tôi thì
đãợc kết quả chính là tuổi của tôi.. Em hãy lập chương trình nhập vào hai
số nguyên dương M và N (M < N), xác định tuổi và ngày sinh tương ứng của người đó trong
giới hạn từ M tuổi đến N tuổi, và ghi ra màn hình theo quy cách nêu trong ví dụ.
Ví dụ:
Nhập vào: M = 50, N = 60
Ghi ra:
7 khả năng
[50, 25], [51, 25], [52, 23], [53, 19], [54, 13], [55, 5], [60, 24]

ĐỀ LUYỆN THI HSG TIN HỌC 9 QUẬN HOÀN KIẾM 2012 – 2013.
15/
Bài 2. Chữ số 0 tận cùng
Cho số nguyên dương
không vượt quá
. Ta xét số
Chẳng hạn,
. Ta thấy số
có tận cùng
chữ số .

.


Yêu cầu: Với số nguyên dương

, hãy tìm số chữ số

Dữ liệu: File vào gồm một dòng chứa số
.
Kết quả: Đưa ra file ra số lượng các chữ số
tận cùng của
Ví dụ:
DigZero.IN
DigZero.OUT

tận cùng của


15


3

Ý tưởng cách tìm: Xét tất cả các số chia hết cho 5. Giả sử mỗi số đó có thể chia hết cho Xi chữ
số 5.
Cộng tất cả các Xi đó lại thì ta được số chữ số 0.
Giả sử 25! = 15511210043330985984000000 có 6 chữ số 0 tận cùng.
ta có
5 chia hết cho 1 chữ số 5
10 chia hết cho 1 chữ số 5
15 chia hết cho 1 chữ số 5
20 chia hết cho 1 chữ số 5
25 chia hết cho 2 chữ số 5
-> suy ra tổng là 6 (đúng với kết quả là có 6 chữ số 0).
var
n, i, j, count: longint;
begin
write('Nhap N (N>=1): '); readln(n);
for i:=1 to n do
begin
j:=i;
while j mod 5 = 0 do
begin
j:=j div 5;
count:=count+1;
end;
end;
write(' So chu so 0 cuoi cua ',n,'! la: ',count); readln;
end.




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

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