1. Trang chủ
  2. » Giáo án - Bài giảng

Bai tap on thi HSG tin hoc

42 1,2K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 11,93 MB

Nội dung

BÀI TẬP NÂNG CAO (Không bắt buộc) KIỂU SỐ NGUYÊN (INTEGER): Từ khai báo Phạm vi biểu diễn Kích thước (Byte) Ghi chú (Giả sử x là biến, ta chỉ cần nhớ như sau) Byte 0 .. 255 1 Shortint 128 .. +127 1 Integer (Smallint) 32768 .. 32767 2 Word 0 .. 65535 2 Longint 2147483648.. 2147483647 4 |x| ≈ 2.109 Longword (Cardinal) 0.. 4294967295 4 x ≈ 4.109 Int64 9223372036854775808.. 9223372036854775807 8 |x| ≈ 9.1018 Qword 0.. 18446744073709551615 8 x ≈ 18.1018 KIỂU SỐ THỰC (REAL): Từ khai báo Phạm vi biểu diễn Chữ số có nghĩa Kích thước (Byte) REAL 2.9E39 .. 1.7E+38 1112 6 SINGLE 1.5E 45 .. 3.4E+38 78 4 DOUBLE 5.0E324 .. 1.7E+308 1516 8 EXTENDED 3.4E 4951 .. 1.1E+4932 1920 10 Bài 1. Diện tích hình chữ nhật Tên file chương trình RECTAREA.PAS Viết chương trình tính diện tích hình chữ nhật có chiều dài là a, chiều rộng là b. Dữ liệu: vào từ file RECTAREA.INP chứa 2 số nguyên dương a, b cách nhau một khoảng trắng ( ). Kết quả: ghi vào file RECTAREA.OUT kết quả là diện tích hình chữ nhật. Ví dụ: RECTAREA.INP RECTAREA.OUT 5 3 15 Bài 2. Tính giá trị biểu thức P Tên file chương trình EXP.PAS Cho biểu thức: . Yêu cầu: Tính giá trị của P với n cho trước. Dữ liệu: Vào từ file EXP.INP chứa số nguyên dương n ( ). Kết quả: Ghi ra file EXP.OUT giá trị của P với 10 chữ số thập phân. Ví dụ: EXP.INP EXP.OUT 5 0.4545454545 Bài 3. Giá trị nhỏ nhất Tên file chương trình MINVAL.PAS Cho đa thức: ( ). Viết chương trình tìm giá trị nhỏ nhất của đa thức trên với các hệ số a, b, c cho trước. Dữ liệu vào từ file MINVAL.INP chứa 3 số nguyên a, b, c cách nhau một khoảng trắng. Kết quả ghi vào file MINVAL.OUT giá trị nhỏ nhất của đa thức đã cho với 2 chữ số thập phân. Ví dụ: MINVAL.INP MINVAL.OUT 9 48 65 1.00 Bài 4. Giao điểm của đường thẳng Tên file chương trình INSPOINT.PAS Cho n đường thẳng phân biệt cắt nhau từng đôi một, trong đó có đúng k đường thẳng đồng quy. Tính số giao điểm của n đường thẳng đã cho. Dữ liệu vào từ file INSPOINT.INP:  Dòng đầu chứa số nguyên n ( ).  Dòng thứ hai chứa số nguyên k ( ). Kết quả ghi vào file INSPOINT.OUT số các giao điểm tìm được. Ví dụ: INSPOINT.INP INSPOINT.OUT 101 5 5041 Bài 5. Đa giác Tên file chương trình POLYGON.PAS Cho đa giác lồi có n cạnh. Tính tổng các góc trong và số đường chéo của đa giác đã cho. Dữ liệu vào từ file POLYGON.INP chứa số nguyên n ( ). Kết quả ghi vào file POLYGON.OUT:  Dòng thứ nhất ghi tổng các góc trong của đa giác đã cho (đơn vị tính theo độ).  Dòng thứ hai ghi số đường chéo của đa giác đã cho. Ví dụ: POLYGON.INP POLYGON.OUT 6 720 9 Bài 6. Tìm nghiệm của đa thức Tên file chương trình XVALUE.PAS Viết chương trình tìm nghiệm của đa thức ax + b. Dữ liệu vào từ file XVALUE.INP:  Dòng đầu chứa số nguyên n (0< n ≤ 100000).  n dòng tiếp theo, mỗi dòng chứa 2 số thực a, b ( ). Kết quả ghi vào file XVALUE.OUT nghiệm của đa thức ax + b với 2 chữ số thập phân. Nếu đa thức có vô số nghiệm thì ghi “VSN”, nếu đa thức vô nghiệm thì ghi “VN”. Ví dụ: XVALUE.INP XVALUE.OUT 3 2 3 0 5 0 0 1.50 VN VSN Bài 7. Tinh giá trị biểu thức S Tên file chương trình EXP1.PAS Cho biểu thức: . Yêu cầu: Tính giá trị của S với n cho trước. Dữ liệu: Vào từ file EXP1.INP chứa số nguyên dương n ( ). Kết quả: Ghi ra file EXP1.OUT giá trị của S với 9 chữ số thập phân. Ví dụ: EXP1.INP EXP1.OUT 3 0.361904762 Bài 8. Bội chung nhỏ nhất Tên file chương trình LCM.PAS Cho cặp số nguyên dương a, b. Yêu cầu: Tìm bội số chung nhỏ nhất của cặp số nguyên dương a, b. Dữ liệu: Vào từ file LCM.INP:  Dòng đầu chứa số nguyên dương n ( ).  n dòng tiếp theo chứa n cặp số nguyên dương a, b cần xét ( ), các giá trị a, b cách nhau ít nhất một khoảng trắng. Kết quả: Ghi ra file LCM.OUT n dòng, dòng thứ i ghi bội chung nhỏ nhất của cặp số a, b tương ứng đã cho tại dòng thứ i+1 trong tệp LCM.INP. Ví dụ: LCM.INP LCM.OUT 5 3 5 4 6 5 10 21 6 10 12 15 12 10 42 60 Bài 9. Phương trình nghiệm nguyên Tên file chương trình INTEQUA.PAS Xét phương trình có dạng x + y + z = n (x, y, z, n là các số nguyên dương). Phương trình này có thể vô nghiệm, có một hoặc vô số bộ nghiệm (x, y, z) mà trong đó các số x, y, z đều là số nguyên dương (x, y, z > 0). Yêu cầu: Liệt kê ra tất cả các bộ nghiệm nguyên dương x, y, z của phương trình trên (với x < y < z) và cho biết có tất cả bao nhiêu bộ nghiệm. Dữ liệu: Vào từ file INTEQUA.INP chứa số nguyên dương n ( ). Kết quả: Ghi vào file INTEQUA.OUT các bộ nghiệm tìm được mỗi dòng ghi 1 bộ nghiệm với các giá trị của x, y, z cách nhau ít nhất 1 dấu cách. Dòng cuối cùng ghi số lượng các bộ nghiệm. Nếu không có bộ nghiệm nào thì ghi số 0. Ví dụ: INTEQUA.INP INTEQUA.OUT 10 1 2 7 1 3 6 1 4 5 2 3 5 4 Bài 10. Giải phương trình Tên file chương trình EQUTN.PAS Cho phương trình x2 + y2 = z (). Phương trình này có thể có vô số nghiệm nhưng chỉ xét các các nghiệm có x, y, z là các số nguyên tố và x ≤ y ≤ z ≤ n với n cho trước. Yêu cầu: Hãy viết chương trình tìm tất cả các nghiệm của (). Dữ liệu: Vào từ file ‘EQUTN.INP’, chứa duy nhất một số nguyên dương n ( ) Kết quả: Ghi ra file ‘EQUTN.OUT’:  Mỗi dòng là một nghiệm theo thứ tự x, y, z.  Dòng cuối cùng ghi tổng số nghiệm tìm được. EQUTN.INP EQUTN.OUT 20 2 3 13 1 Ví dụ: Bài 11. Phân tích ra thừa số nguyên tố Tên file chương trình PRIMEFAC.PAS Cho một số nguyên dương n lớn hơn 1. Yêu cầu: Hãy phân tích n thành tích các thừa số nguyên tố. Dữ liệu: Vào từ file PRIMEFAC.INP chứa số nguyên dương n ( ). Kết quả: Ghi ra file PRIMEFAC.OUT tích các thừa số nguyên tố phân tích được từ số nguyên dương n, mỗi số nguyên tố cách nhau một dấu “.” (số cuối cùng không có dấu “.”). Ví dụ: PRIMEFAC.INP PRIMEFAC.OUT 300 2.2.3.5.5 Bài 12. Chữ số tận cùng Tên file chương trình NUMFINAL.PAS Cho hai số nguyên a và n. Yêu cầu: Tìm chữ số tận cùng của . Dữ liệu: Vào từ file NUMFINAL.INP chứa 2 số nguyên a, n cách nhau một khoảng trắng ( ). Kết quả: Ghi ra file NUMFINAL.OUT chữ số tận cùng của .

Trang 1

BÀI TẬP NÂNG CAO (Không bắt buộc)KIỂU SỐ NGUYÊN (INTEGER):

Từ khai báo Phạm vi biểu diễn Kích thước

(Byte) (Giả sử x là Ghi chú

biến, ta chỉ cần nhớ như sau)

Từ khai báo Phạm vi biểu diễn Chữ số có nghĩa Kích thước (Byte)

EXTENDED 3.4E- 4951 1.1E+4932 19-20 10

Bài 1 Diện tích hình chữ nhật Tên file chương trình RECTAREA.PAS

Viết chương trình tính diện tích hình chữ nhật có chiều dài là a, chiều rộng là b

Dữ liệu: vào từ file RECTAREA.INP chứa 2 số nguyên dương a, b cách nhau một khoảng

Yêu cầu: Tính giá trị của P với n cho trước.

Dữ liệu: Vào từ file EXP.INP chứa số nguyên dương n (n 10≤ 9)

Kết quả: Ghi ra file EXP.OUT giá trị của P với 10 chữ số thập phân.

Ví dụ:

Trang 2

Bài 3 Giá trị nhỏ nhất Tên file chương trình MINVAL.PAS

Cho đa thức: ax2 + +bx c (0 < ≤a 100; ,b c ≤ 10 9)

Viết chương trình tìm giá trị nhỏ nhất của đa thức trên với các hệ số a, b, c cho trước

Dữ liệu vào từ file MINVAL.INP chứa 3 số nguyên a, b, c cách nhau một khoảng trắng Kết quả ghi vào file MINVAL.OUT giá trị nhỏ nhất của đa thức đã cho với 2 chữ số thập

phân

Ví dụ:

Bài 4 Giao điểm của đường thẳng Tên file chương trình INSPOINT.PAS

Cho n đường thẳng phân biệt cắt nhau từng đôi một, trong đó có đúng k đường thẳng đồngquy Tính số giao điểm của n đường thẳng đã cho

Dữ liệu vào từ file INSPOINT.INP:

 Dòng thứ hai chứa số nguyên k (2 n 4.10 ;k n≤ ≤ 9 < )

Kết quả ghi vào file INSPOINT.OUT số các giao điểm tìm được.

Ví dụ:

INSPOINT.INP INSPOINT.OUT

1015

5041

Cho đa giác lồi có n cạnh Tính tổng các góc trong và số đường chéo của đa giác đã cho

Dữ liệu vào từ file POLYGON.INP chứa số nguyên n (3 n 10≤ ≤ 9)

Kết quả ghi vào file POLYGON.OUT:

 Dòng thứ nhất ghi tổng các góc trong của đa giác đã cho (đơn vị tính theo độ)

 Dòng thứ hai ghi số đường chéo của đa giác đã cho

Ví dụ:

9

Trang 3

Bài 6 Tìm nghiệm của đa thức Tên file chương trình XVALUE.PAS

Viết chương trình tìm nghiệm của đa thức ax + b

Dữ liệu vào từ file XVALUE.INP:

 Dòng đầu chứa số nguyên n (0< n ≤ 100000)

Kết quả ghi vào file XVALUE.OUT nghiệm của đa thức ax + b với 2 chữ số thập phân.

Nếu đa thức có vô số nghiệm thì ghi “VSN”, nếu đa thức vô nghiệm thì ghi “VN”

Bài 7 Tinh giá trị biểu thức S Tên file chương trình EXP1.PAS

Yêu cầu: Tính giá trị của S với n cho trước.

Dữ liệu: Vào từ file EXP1.INP chứa số nguyên dương n (n 10≤ 9)

Kết quả: Ghi ra file EXP1.OUT giá trị của S với 9 chữ số thập phân.

Ví dụ:

Bài 8 Bội chung nhỏ nhất Tên file chương trình LCM.PAS

Cho cặp số nguyên dương a, b

Yêu cầu: Tìm bội số chung nhỏ nhất của cặp số nguyên dương a, b.

Dữ liệu: Vào từ file LCM.INP:

a, b cách nhau ít nhất một khoảng trắng

Kết quả: Ghi ra file LCM.OUT n dòng, dòng thứ i ghi bội chung nhỏ nhất của cặp số a, b

tương ứng đã cho tại dòng thứ i+1 trong tệp LCM.INP

Trang 4

Bài 9 Phương trình nghiệm nguyên Tên file chương trình INTEQUA.PAS

Xét phương trình có dạng x + y + z = n (x, y, z, n là các số nguyên dương)

Phương trình này có thể vô nghiệm, có một hoặc vô số bộ nghiệm (x, y, z) mà trong

đó các số x, y, z đều là số nguyên dương (x, y, z > 0)

Yêu cầu: Liệt kê ra tất cả các bộ nghiệm nguyên dương x, y, z của phương trình

trên (với x < y < z) và cho biết có tất cả bao nhiêu bộ nghiệm

Dữ liệu: Vào từ file INTEQUA.INP chứa số nguyên dương n ( 0 n 1000< ≤ )

Kết quả: Ghi vào file INTEQUA.OUT các bộ nghiệm tìm được mỗi dòng ghi 1 bộ

nghiệm với các giá trị của x, y, z cách nhau ít nhất 1 dấu cách Dòng cuối cùng ghi sốlượng các bộ nghiệm Nếu không có bộ nghiệm nào thì ghi số 0

Bài 10 Giải phương trình Tên file chương trình EQUTN.PAS

các các nghiệm có x, y, z là các số nguyên tố và x ≤ y ≤ z ≤ n với n cho trước

Yêu cầu: Hãy viết chương trình tìm tất cả các nghiệm của (*).

Dữ liệu: Vào từ file ‘EQUTN.INP’, chứa duy nhất một số nguyên dương n (0 n 10< ≤ 9)

Kết quả: Ghi ra file ‘EQUTN.OUT’:

 Mỗi dòng là một nghiệm theo thứ tự x, y, z

 Dòng cuối cùng ghi tổng số nghiệm tìm được

Ví dụ:

Bài 11 Phân tích ra thừa số nguyên tố Tên file chương trình PRIMEFAC.PAS

Cho một số nguyên dương n lớn hơn 1

Yêu cầu: Hãy phân tích n thành tích các thừa số nguyên tố.

Dữ liệu: Vào từ file PRIMEFAC.INP chứa số nguyên dương n (1 n 10< ≤ 6)

Kết quả: Ghi ra file PRIMEFAC.OUT tích các thừa số nguyên tố phân tích được từ số

nguyên dương n, mỗi số nguyên tố cách nhau một dấu “.” (số cuối cùng không có dấu “.”)

Ví dụ:

PRIMEFAC.INP PRIMEFAC.OUT

Bài 12 Chữ số tận cùng Tên file chương trình NUMFINAL.PAS

Cho hai số nguyên a và n

Yêu cầu: Tìm chữ số tận cùng của a n

Dữ liệu: Vào từ file NUMFINAL.INP chứa 2 số nguyên a, n cách nhau một khoảng trắng

Trang 5

Ví dụ:

Bài 13 Chữ số tận cùng của số lớn Tên file chương trình NUMFILON.PAS

Cho hai số nguyên a và n

Yêu cầu: Tìm chữ số tận cùng của a n

Dữ liệu: Vào từ file NUMFILON.INP chứa 2 số nguyên a, n cách nhau một khoảng trắng

Bài 14 Đếm số chữ số 0 tận cùng của n! Tên file chương trình NUMBER0.PAS

Cho số nguyên dương n

Yêu cầu: Hãy đếm số chữ số 0 tận cùng của n!.

Dữ liệu: Vào từ file NUMBER0.INP chứa số nguyên dương n (n 10≤ 18)

Kết quả: Ghi ra file NUMBER0.OUT một số nguyên duy nhất là số lượng chữ số 0 tận

cùng của n!

Ví dụ:

Số “hồi văn” là số mà khi đọc xuôi, đọc ngược đều giống nhau (số có 1 chữ số cũng đượccoi là số “hồi văn”) Ví dụ: số 3663 là là một số “hồi văn”

Yêu cầu: Cho n số nguyên dương a ;a ;a ; ;a Hãy cho biết trong n số đã cho có bao1 2 3 n

nhiêu số “hồi văn”?

Dữ liệu: Vào từ file NUMBER1.INP:

3

Bài 16 Mật khẩu bí ẩn Tên file chương trình PASSWORD.PAS

Bạn An là một người rất đam mê lập trình nên thường xuyên tham gia thi lập trình trênmạng Vì đạt được thành tích cao nên An được Ban tổ chức gửi tặng một phần mềm học

Trang 6

toán khá hấp dẫn Nhà sản xuất phần mềm cung cấp cho An một mã số là một số nguyêndương M có không quá 255 chữ số Để cài đặt được phần mềm, An phải nhập vào mậtkhẩu của phần mềm

Mật khẩu của phần mềm là một số nguyên dương P được tạo ra bằng cách tính tổng giá trịcác chữ số của số M

Trong vai trò là An em hãy viết chương trình để tìm ra mật khẩu P bí ẩn từ số M đã cho

Yêu cầu: Hãy tìm số nguyên dương P.

Dữ liệu: Vào từ file PASSWORD.INP chứa số M có tối đa 255 chữ số viết liền nhau.

Kết quả: Ghi ra file PASSWORD.OUT số nguyên dương P tìm được.

Ví dụ:

Cho số nguyên dương n Bằng cách sử dụng các số liên tiếp của n (viết trong hệ thậpphân), ta thu được các số nguyên (có thể trùng nhau)

Ví dụ: n = 2014, ta thu được các số: 2, 0, 1, 4, 20, 01, 14, 201, 014, 2014

Yêu cầu: Hãy tính tổng các số thu được Trong ví dụ trên, ta có tổng cần tìm sẽ là:

2 + 0 + 1 + 4 + 20 + 01 + 14 + 201 + 014 + 2014 = 2271

Dữ liệu: Vào từ file SUM.INP chứa duy nhất một số nguyên dương n (102 ≤ ≤n 109)

Kết quả: Ghi ra file văn bản SUM.OUT tổng cần tìm.

Ví dụ:

Cho hai số nguyên dương n và m, trong đó m là số nguyên tố

Yêu cầu: Hãy tìm số nguyên dương k lớn nhất thỏa mãn điều kiện n! chia hết cho m k

Dữ liệu: Vào từ file SEARCHK.INP:

2

Cho dãy số nguyên gồm n phần tử a ;a ;a ; ;a Người ta chọn trong dãy ra hai phần tử1 2 3 n i

a và a (i 1,2,3, ,n; j 1,2,3, ,n;i jj = = < ) để tạo thành một cặp số (a ;a ).i j

Yêu cầu: Hãy cho biết trong dãy có bao nhiêu cặp số (được chọn như trên) có tổng là một

số chẵn

Dữ liệu: Vào từ file SUMEVEN.INP:

Trang 7

Ví dụ:

583547

4

Bài 20 Cặp số trung hòa Tên file chương trình NEUTRAL.PAS

Cho hai dãy số nguyên a ;a ;a ; ;a và 1 2 3 n b ;b ;b ; ;b Một cặp số (1 2 3 m a ;b ) được gọi lài j

trung hòa nếu chúng thỏa mãn các điều kiện sau:

 a được chọn trong các số nguyên i a ;a ;a ; ;a (i 1,2,3, ,n1 2 3 n = )

 b được chọn trong các số nguyên j b ;b ;b ; ;b ( j 1,2,3, ,m1 2 3 m = )

 a bi j<0

Yêu cầu: Hãy cho biết có bao nhiêu cách chọn được cặp số trung hòa.

Dữ liệu: Vào từ file NEUTRAL.INP:

4

Bài 21 Những sợi dây xích k Tên file chương trình CHAINK.PAS

sợi dây có 1k khoặc 2k hoặc 3k, … mắt xích, nếu sợi dây xích nào có nhiều hơn hoặc íthơn các con số mắt xích đó thì người ta có thể cắt bớt mắt xích đi hoặc nối thêm mắt xíchvào để tạo ra những sợi dây xích k

Yêu cầu: Với n sợi dây xích đã cho, hãy cho biết sau khi tạo được toàn bộ những sợi dây

xích k thì còn bao nhiêu mắt xích không được dùng

Dữ liệu: Vào từ file CHAINK.INP:

i

a ≤10 ;i 1,2,3, ,n= )

Kết quả: Ghi ra file CHAINK.OUT một số nguyên duy nhất là số mắt xích còn lại không

được dùng

Trang 8

Ví dụ:

3 3524

2

Cho hai số nguyên dương n và k

Yêu cầu: Hãy tính n! mod k.

Dữ liệu:Vào từ file MOD.INP chứa hai số nguyên dương n và k (n 10 ;k 10≤ 6 ≤ 9)

Kết quả: Ghi ra file MOD.OUT một số nguyên là kết quả của phép tính n trên.

Ví dụ:

Cho biểu thức S 1 3 5 (2n 1)= + + + + − và số nguyên dương k.

Yêu cầu: Hãy tính S mod k.

Dữ liệu: Vào từ file MOD1.INP chứa 2 số nguyên dương n và k (n,k 10≤ 18)

Kết quả: Ghi ra file MOD1.OUT một số nguyên là kết quả của phép tính trên.

Ví dụ:

Cho biểu thức S 1= + + + +3 23 33 n3 và số nguyên dương k

Yêu cầu: Hãy tính S mod k.

Dữ liệu: Vào từ file MOD2.INP chứa 2 số nguyên dương n và k (n,k 10≤ 18)

Kết quả: Ghi ra file MOD2.OUT một số nguyên là kết quả của phép tính trên.

Ví dụ:

Cho biểu thức S 1= + + + +2 22 32 n2 và số nguyên dương k

Yêu cầu: Hãy tính S mod k.

Dữ liệu: Vào từ file MOD3.INP gồm nhiều dòng, mỗi dòng chứa 2 số nguyên dương n và

k (n,k 10≤ 18)

Kết quả: Ghi ra file MOD3.OUT gồm nhiều dòng, mỗi dòng ghi một số nguyên là kết

quả của phép tính trên

Trang 9

… …

Người ta gọi dãy số sau là một dãy số đặc biệt có n phần tử:

a =1;a = +1 3;a = + +1 3 5; ;a = + + + +1 3 5 (2i 1);a− = + + + +1 3 5 (2n 1)−

Yêu cầu: Cho một dãy số nguyên có n phần tử Hãy cho biết sau khi sắp xếp lại, dãy số đã

cho có phải là dãy số đặc biệt không

Dữ liệu: Vào từ file SEQ1.INP:

i

i 1,2,3, ,n; a= ≤10 )

Kết quả: Ghi ra file SEQ1.OUT: nếu dãy đã cho là dãy số đặc biệt thì mỗi dòng ghi 1

phần tử của dãy sau khi đã sắp xếp tăng, nếu dãy đã cho không phải là dãy số đặc biệt thìghi số 0

Ví dụ:

3914

149

3714

0

Bài 27 Dãy số có tổng vị thứ Tên file chương trình SEQ2.PAS

Một dãy số a ;a ;a ; ;a được gọi là dãy số có tổng vị thứ nếu 1 2 3 n ai = + + + +1 2 3 i (với

i 1,2,3, ,i= )

Yêu cầu: Cho một dãy số nguyên có n phần tử Hãy cho biết sau khi sắp xếp lại, dãy số đã

cho có phải là dãy số có tổng vị thứ không

Dữ liệu: Vào từ file SEQ2.INP:

i

i 1,2,3, ,n; a= ≤2.10 )

Kết quả: Ghi ra file SEQ2.OUT:

 Ghi số 1 nếu dãy đã cho là dãy vị thứ, n dòng tiếp theo mỗi dòng là một phần tử củadãy vị thứ đã cho sau khi sắp xếp giảm

Ví dụ:

431061

110631

431071

0

Bài 28 Đoạn con tăng dài nhất Tên file chương trình SUBSEG1.PAS

Cho một dãy gồm n số nguyên a ,a ,a , ,a 1 2 3 n

Yêu cầu: Hãy tìm đoạn con tăng dài nhất gồm các phần tử liên tiếp của dãy đã cho.

Dữ liệu: Vào từ file SUBSEG1.INP gồm 2 dòng:

Trang 10

 Dòng thứ hai là các phần tử a của dãy, mỗi phần tử cách nhau 1 khoảng trắng (i

18 i

i 1,2,3, ,n; a= ≤2.10 )

Kết quả: Ghi ra file SUBSEG1.OUT một số nguyên duy nhất là số lượng phần tử của

đoạn con tìm được

Bài tập bổ sung: Tên file chương trình SUBSEG1R.PAS

Yêu cầu tương tự như trên, chỉ thay đổi file output như sau:

Kết quả: Ghi ra file SUBSEG1.OUT:

 Dòng đầu ghi một số nguyên duy nhất là số lượng phần tử của đoạn con tìm được

 Dòng thứ hai ghi các phần tử của đoạn con tìm được, mỗi phần tử cách nhau 1khoảng trắng

Bài 29 Đoạn con có tổng lớn nhất Tên file chương trình SUBSEG2.PAS

Cho dãy gồm n số nguyên a ,a ,a , ,a 1 2 3 n

Yêu cầu: Hãy tìm đoạn con có tổng lớn nhất gồm các phần tử liên tiếp của dãy đã cho.

Dữ liệu: Vào từ file SUBSEG2.INP gồm 2 dòng:

9 i

i 1,2,3, ,n; a= ≤2.10 )

Kết quả: Ghi ra file SUBSEG2.OUT một số nguyên duy nhất là tổng các phần tử của

đoạn con tìm được

Bài tập bổ sung: Tên file chương trình SUBSEG2R.PAS

Yêu cầu tương tự như trên, chỉ thay đổi file output như sau:

Kết quả: Ghi ra file SUBSEG2.OUT:

 Dòng đầu tiên ghi vị trí phần tử đầu tiên của đoạn con tìm được

 Dòng thứ hai ghi vị trí phần tử cuối cùng của đoạn con tìm được

 Dòng thứ ba ghi tổng các phần tử của đoạn con tìm được

Trang 11

Bài 30 Dãy con đơn điệu dài nhất Tên file chương trình SUBSEQ1.PAS

Cho một dãy gồm n số nguyên a ,a ,a , ,a 1 2 3 n

Yêu cầu: Hãy tìm dãy con tăng dài nhất gồm các phần tử (liên tiếp hoặc không liên tiếp)

của dãy đã cho

Dữ liệu: Vào từ file SUBSEQ1.INP gồm 2 dòng:

18 i

Bài tập bổ sung: Tên file chương trình SUBSEQ1R.PAS

Yêu cầu tương tự như trên, chỉ thay đổi file output như sau:

Kết quả: Ghi ra file SUBSEQ1.OUT gồm 2 dòng:

 Dòng đầu ghi một số nguyên duy nhất là số lượng phần tử của dãy con tìm được

 Dòng thứ hai ghi các phần tử của dãy con tìm được, mỗi phần tử cách nhau 1khoảng trắng

Cho dãy gồm n số nguyên a ,a ,a , ,a 1 2 3 n

Yêu cầu: Hãy tìm dãy con có tổng lớn nhất gồm các phần tử không liên tiếp của dãy đã

cho

Dữ liệu: Vào từ file SUBSEQ2.INP:

11

Bài tập bổ sung: Tên file chương trình SUBSEQ2R.PAS

Trang 12

Yêu cầu tương tự như trên, chỉ thay đổi file output như sau:

Kết quả: Ghi ra file SUBSEQ2.OUT:

 Dòng đầu tiên ghi tổng các phần tử của dãy con tìm được

 Dòng thứ hai ghi các phần tử của dãy con tìm được, mỗi phần tử cách nhau 1khoảng trắng

Ví dụ:

515246

11

5 6

Bài 32 Số lần xuất hiện của ký tự Tên file chương trình CHAR.PAS

Cho một chuỗi ký tự gồm các ký tự trong bảng mã ASCII

Yêu cầu: Hãy cho biết mỗi ký tự trong chuỗi xuất hiện bao nhiêu lần.

Dữ liệu: Vào từ file CHAR.INP chứa chuỗi ký tự có độ dài tối đa 10 ký tự.9

Kết quả: Ghi ra file CHAR.OUT: mỗi dòng ghi thông tin về một ký tự trong chuỗi (như

Bài 33 So sánh số lớn Tên file chương trình COMPARE.PAS

Cho hai số nguyên dương a và b có tối đa 200 chữ số

Yêu cầu: Hãy so sánh hai số đã cho.

Dữ liệu: Vào từ file COMPARE.INP: dòng đầu chứa số a, dòng thứ hai chứa số b.

Kết quả: Ghi ra file COMPARE.OUT: a>b hoặc a<b hoặc a=b.

Ví dụ:

32941234

a>b

Bài 34 Thập phân sang nhị phân Tên file chương trình DECTOBIN.PAS

Cho số tự nhiên n ở hệ thập phân

Yêu cầu: Hãy biểu diễn số n ở hệ nhị phân.

Dữ liệu: Vào từ file DECTOBIN.INP: mỗi dòng chứa một số tự nhiên n ở hệ thập phân (

18

Kết quả: Ghi ra file DECTOBIN.OUT mỗi dòng một số nhị phân tương ứng với số thập

phân ở file DECTOBIN.INP

Ví dụ:

Trang 13

1100011101

Bài 35 Nhị phân sang thập phân Tên file chương trình BINTODEC.PAS

Cho số tự nhiên n ở hệ nhị phân

Yêu cầu: Hãy biểu diễn số n ở hệ thập phân.

Dữ liệu: Vào từ file BINTODEC.INP: mỗi dòng chứa một số tự nhiên n ở hệ nhị phân có

tối đa 32 chữ số

Kết quả: Ghi ra file BINTODEC.OUT mỗi dòng một số thập phân tương ứng với số nhị

phân ở file BINTODEC.INP

Ví dụ:

10011111100011101

792429

Bài 36 Thập phân sang thập lục phân Tên file chương trình DECTOHEX.PAS

Cho số tự nhiên n ở hệ thập phân

Yêu cầu: Hãy biểu diễn số n ở hệ thập lục phân.

Dữ liệu: Vào từ file DECTOHEX.INP: mỗi dòng chứa một số tự nhiên n ở hệ thập phân (

18

Kết quả: Ghi ra file DECTOHEX.OUT mỗi dòng một số thập lục phân tương ứng với số

thập phân ở file DECTOHEX.INP

Ví dụ:

79274829

4FABC1D

Bài 37 Thập lục phân sang thập phân Tên file chương trình HEXTODEC.PAS

Cho số tự nhiên n ở hệ thập lục phân

Yêu cầu: Hãy biểu diễn số n ở hệ thập phân.

Dữ liệu: Vào từ file HEXTODEC.INP: mỗi dòng chứa một số tự nhiên n ở hệ thập lục

phân có tối đa 16 chữ số

Kết quả: Ghi ra file HEXTODEC.OUT mỗi dòng một số thập phân tương ứng với số thập

lục phân ở file HEXTODEC.INP

Ví dụ:

4FABC1D

79274829

Bài 38 Cụm ngoặc đúng Tên file chương trình BRACKET.PAS

Trang 14

Dữ liệu: Vào từ file BRACKET.INP chứa xâu S có độ dài tối đa 10 ký tự.9

Kết quả: Ghi ra file BRACKET.OUT số 1 hoặc 0 tương ứng với hợp lệ hoặc không hợp

lệ

Ví dụ:

Trong một ngày nghỉ Tết nguyên đán, trường THCS XYZ tổ chức một cuộc gặp gỡ giaolưu giữa các cựu học sinh và các em học sinh trong đội tuyển học sinh giỏi của trường.Tuy nhiên, do tổ chức vào dịp Tết nên mặc dù các em cũng rất hào hứng tham gia nhưngthời gian rảnh rỗi của các em là không thống nhất Trước tình hình đó, để phục vụ chocuộc gặp gỡ giao lưu, nhà trường quyết định mở cửa suốt cả ngày Sau khi kết thúc mộtngày giao lưu, nhà trường muốn biết một thông tin quan trọng đó là số lượng học sinhnhiều nhất tại cùng một thời điểm là bao nhiêu? Rất may là người bảo vệ của trường đãcẩn thận ghi chép đầy đủ thông tin vào – ra cổng trường của các học sinh trong ngày đóvào một cuốn sổ tay theo trình tự thời gian, cứ một học sinh đi từ ngoài vào thì ghi dấu

“+” (dấu cộng), một học sinh từ trong trường đi ra ngoài thì ghi dấu “-” (dấu trừ) Điềuđương nhiên là sau khi kết thúc cuộc giao lưu sẽ không còn học sinh nào ở lại trongtrường và không thể trong một thời điểm nào đó không có học sinh nào trong trường màlại có học sinh đi ra khỏi trường

Yêu cầu: Hãy cho biết số học sinh cùng có mặt trong trường nhiều nhất là bao nhiêu?

Dữ liệu: Vào từ file MEET.INP chứa thông tin vào – ra của học sinh là một xâu ký tự có

độ dài tối đa 10 ký tự chỉ bao gồm dấu “+” hoặc “-”.9

Kết quả: Ghi ra file MEET.OUT một số nguyên duy nhất là số lượng học sinh cùng có

mặt trong trường nhiều nhất Trong trường hợp dữ liệu file MEET.INP không hợp lệ thìghi -1

Ví dụ:

Trên mặt phẳng tọa độ Oxy cho n điểm có tọa độ nguyên

1 1 1 2 2 2 n n n

A (x , y );A (x , y ); ;A (x , y )

Yêu cầu: Hãy tìm hình chữ nhật có các

cạnh song song với 2 trục tọa độ có diện

tích nhỏ nhất bao n điểm đã cho (điểm có

thể nằm trên cạnh của hình chữ nhật)

Dữ liệu: Vào từ file RECT.INP:

 Dòng đầu là số nguyên dương n (

6

 n dòng tiếp theo, mỗi dòng là 2 số

nguyên tương ứng là hoành độ và

tung độ của 1 điểm cách nhau 1

khoảng trắng (phạm vi mỗi số từ

9

10

Trang 15

Kết quả: Ghi ra file RECT.OUT thông tin của hình chữ nhật tìm được gồm 2 dòng:

 Dòng đầu ghi 2 số nguyên tương ứng là hoành độ và tung độ của đỉnh góc trái dướihình chữ nhật, mỗi số cách nhau 1 khoảng trắng

 Dòng thứ hai ghi 2 số nguyên tương ứng là hoành độ và tung độ của đỉnh góc phảitrên hình chữ nhật, mỗi số cách nhau 1 khoảng trắng

2 -1

-2 -2

3 1

Bài 41 Diện tích hình chữ nhật Tên file chương trình SRECT.PAS

Trên mặt phẳng tọa độ Oxy cho n điểm,

điểm thứ i có tọa độ (x , y ) i i

Yêu cầu: Hãy tính diện tích hình chữ nhật

nhỏ nhất có các cạnh song song với 2 trục

tọa độ bao cả n điểm đã cho Biết rẳng các

điểm đã cho có thể nằm trên cạnh của hình

chữ nhật tìm được

Dữ liệu: Vào từ file SRECT.INP:

 Dòng đầu là số nguyên dương n (

Bài 42 Số âm lớn nhất Tên file chương trình NEGAMAX.PAS

Cho một dãy số nguyên a ;a ;a ; ;a 1 2 3 n

Yêu cầu: Hãy xác định số âm lớn nhất trong dãy số đã cho.

Dữ liệu: Vào từ file NEGAMAX.INP gồm 2 dòng:

9 i

i 1,2,3, ,n; a= ≤2.10 )

Trang 16

Kết quả: Ghi ra file NEGAMAX.OUT số âm lớn nhất tìm được Trong trường hợp không

Bài 43 Số nguyên tố lớn nhất Tên file chương trình MAXPRIME.PAS

Cho số nguyên dương k

Yêu cầu: Hãy tìm số nguyên tố lớn nhất không vượt quá k.

Dữ liệu: Vào từ file MAXPRIME.INP chứa số nguyên dương k (k 10≤ 18)

Kết quả: Ghi ra file MAXPRIME.OUT số nguyên tố lớn nhất tìm được Trong trường

hợp không có kết quả thì ghi số 1

Ví dụ:

Cho n số nguyên dương a ;a ;a ; ;a 1 2 3 n

Yêu cầu: Hãy cho biết trong n số đã cho có bao nhiêu số nguyên tố?

Dữ liệu: Vào từ file PRIME.INP:

3

Bài 45 Tổng của các phân số Tên file chương trình SUMFRACT.PAS

Cho một dãy số nguyên dương a ;a ;a ; ;a và biểu thức 1 2 3 n

Yêu cầu: Hãy tính giá trị của S với kết quả là một phân số tối giản.

Dữ liệu: Vào từ file SUMFRACT.INP:

 Dòng thứ hai là các phần tử của dãy (phạm vi mỗi phần tử có giá trị từ 1 đến 100)

Kết quả: Ghi ra file SUMFRACT.OUT:

 Dòng thứ nhất ghi tử số của phân số tìm được

 Dòng thứ hai ghi mẫu số của phân số tìm được

Ví dụ:

Trang 17

SUMFRACT.INP SUMFRACT.OUT2

1 2

32

Bài 46 Kết quả phép tính Tên file chương trình RESCAL.PAS

Cho phân thức a a a a1 2 3 n

Yêu cầu: Với n số nguyên dương a ;a ;a ; ;a và số nguyên dương k, hãy cho biết sau1 2 3 n

khi thực hiện giản ước thì giá trị mẫu số còn lại là bao nhiêu?

Dữ liệu: Vào từ file RESCAL.INP:

 Dòng thứ nhất chứa lần lượt hai số nguyên dương n và k cách nhau một khoảngtrắng (n 10 ;k 10≤ 6 ≤ 9)

5

Bài 47 Tích lớn nhất của hai số Tên file chương trình MULMAX.PAS

Cho một dãy n số nguyên a ;a ;a ; ;a Người ta chọn trong dãy số đó ra hai phần tử 1 2 3 n ai

và a (i 1,2,3, ,n; j 1,2,3, ,n;i jj = = ≠ ) Gọi T là tích của a và i a j

Yêu cầu: Hãy cho biết giá trị lớn nhất của T.

Dữ liệu: Vào từ file MULMAX.INP:

21

Bài tập bổ sung: Tên file chương trình MULMAXU.PAS

Yêu cầu tương tự như trên, nhưng không đọc – ghi file mà sử dụng Unit

Hướng dẫn gọi hàm và thủ tục:

- Bạn được cung cấp số tiền là T (đồng) để gọi các hàm, thủ tục thư viện có sẵn(MulmaxUnit.ppu) Nếu số tiền còn lại không đủ để gọi hàm, việc gọi hàm sẽ không cókết quả như mong đợi

- Để sử dụng thư viện này, dòng đầu tiên của chương trình bạn dùng câu lệnh:

Uses MulmaxUnit;

Trang 18

- Bạn phải chép file “Mulmax.inp” vào thư mục hiện hành (thư mục làm bài) và chép thưmục “MulmaxUnit” vào đường dẫn “C:\FPC\2.4.4\units\i386-win32” (hoặc chép 2 file

“MulmaxUnit.ppu” và “MulmaxUnit.o” vào “C:\FPC\2.4.4\bin\i386-win32”)

Các hàm và thủ tục được cung cấp như sau:

1 Function GetN() : longint;

- Sử dụng hàm này bạn không mất tiền

- Hàm trả về kết quả là số lượng các phần tử của dãy số

2 Function Get(i:longint) : longint;

- Hàm trả về kết quả là giá trị của số thứ i trong dãy số ban đầu

3 Function Mul(i,j:longint) : int64;

- Thủ tục sẽ hoán đổi giá trị số thứ i và số thứ j trong dãy số ban đầu

5 Procedure Send(t : int64);

- Thủ tục này chỉ được dùng 1 lần

- Sử dụng thủ tục này bạn không mất tiền, nếu không sử dụng thủ tục này bạn sẽ mất hết

số tiền còn lại và không có điểm

- Dùng thủ tục này để kết thúc bài làm và gửi kết quả tìm được thông qua biến t

Xem kết quả:

- Kết quả của bạn sẽ được ghi vào file “Mulmax.out” trong thư mục hiện hành

- Cách tính điểm như sau: Tổng điểm là 40 điểm gồm điểm kết quả và điểm thưởng

+ Điểm kết quả: nếu bạn trả lời đúng bạn sẽ được 25 điểm, ngược lại thì không có điểm.+ Điểm thưởng (ĐT): bạn được thưởng tối đa là 15 điểm về việc sử dụng tiết kiệm tiền.Gọi số tiền còn lại của bạn là T1, khi đó cách tính điểm thưởng là: ĐT = T 161

T

 .

Bài 48 Tích lớn nhất của ba số Tên file chương trình MULMAX3.PAS

Cho một dãy n số nguyên a ;a ;a ; ;a Người ta chọn trong dãy số đó ra ba phần tử 1 2 3 n a ;i j

a và a (i 1,2,3, ,n; j 1,2,3, ,n;k 1,2,3, ,n;i j kk = = = ≠ ≠ ) Gọi T là tích của ba số a ; i aj

và a k

Yêu cầu: Hãy cho biết giá trị lớn nhất của T.

Dữ liệu: Vào từ file MULMAX3.INP gồm 2 dòng:

Trang 19

Horse.ani

Bài tập bổ sung: Tên file chương trình MULMAX3U.PAS

Yêu cầu tương tự như trên, nhưng không đọc – ghi file mà sử dụng Unit

Hướng dẫn gọi hàm và thủ tục:

- Bạn được cung cấp số tiền là T (đồng) để gọi các hàm, thủ tục thư viện có sẵn(MulmaxUnit.ppu) Nếu số tiền còn lại không đủ để gọi hàm, việc gọi hàm sẽ không cókết quả như mong đợi

- Để sử dụng thư viện này, dòng đầu tiên của chương trình bạn dùng câu lệnh:

Uses Mulmax3Unit;

- Bạn phải chép file “Mulmax3.inp” vào thư mục hiện hành (thư mục làm bài) và chépthư mục “Mulmax3Unit” vào đường dẫn “C:\FPC\2.4.4\units\i386-win32” (hoặc chép 2file “Mulmax3Unit.ppu” và “Mulmax3Unit.o” vào “C:\FPC\2.4.4\bin\i386-win32”).Các hàm và thủ tục được cung cấp như sau:

1 Function GetN() : longint;

- Sử dụng hàm này bạn không mất tiền

- Hàm trả về kết quả là số lượng các phần tử của dãy số

2 Function Get(i:longint) : longint;

- Sử dụng hàm này bạn mất T div N số tiền

- Hàm trả về kết quả là giá trị của số thứ i trong dãy số ban đầu

3 Function Mul(i,j,k:longint) : int64;

- Sử dụng hàm này bạn mất T div (4*N) số tiền

- Hàm trả về kết quả là tích của là tích của ba số a ; i a và j a trong dãy số ban đầu.k

4 Function RemainMoney() : longint;

- Sử dụng hàm này bạn không mất tiền

- Hàm trả về kết quả là số tiền còn lại của bạn tính đến thời điểm hiện tại

5 Procedure Send(t : longint);

- Sử dụng thủ tục này bạn không mất tiền, nếu không sử dụng thủ tục này bạn sẽ mất hết

số tiền còn lại và không có điểm

- Dùng thủ tục này để kết thúc bài làm và gửi kết quả tìm được thông qua biến t Thủ tụcnày chỉ được dùng 1 lần

Xem kết quả:

- Kết quả của bạn sẽ được ghi vào file “Mulmax3.out” trong thư mục hiện hành

- Bạn chỉ có điểm nếu tìm đúng kết quả và nếu:

+ Số tiền còn lại từ 75% trở lên đạt 40 điểm

+ Số tiền còn lại từ 50% đến dưới 75% đạt 35 điểm

+ Số tiền còn lại dưới 50% đạt 30 điểm

Bài 49 Tìm vị trí đặt con mã Tên file chương trình HORSE.PAS

Tọa độ của một con cờ trên bàn cờ 8×8 được xác định bằng một cặp

số (x;y), với x là tọa độ hàng tính từ trên xuống dưới và y là tọa độ

cột tính trái qua phải

Một con mã có thể di chuyển đến 8 vị trí để ăn một quân cờ

(Hình1) Người ta nói con mã khống chế được một quân cờ nếu nó

có thể ăn được quân cờ đó bằng một nước đi

Yêu cầu: Cho trước tọa độ của n quân tốt trên bàn cờ, hãy xác định

số lượng tối đa các con tốt mà một con mã có thể khống chế được

Dữ liệu: Vào từ file HORSE.INP:

Trang 20

Horse.ani

nhau 1 khoảng trắng (1 x , y≤ i i ≤8) là tọa độ của con tốt thứ i

Kết quả: Ghi ra file HORSE.OUT một số nguyên duy nhất, là số tối

đa các con tốt mà một vị trí đặt mã có thể khống chế được

Ví dụ: (Hình 2)

Bài 50 Sản xuất thiết bị Tên file chương trình MANUEQUI.PAS

Trong quy trình sản xuất thiết bị của một nhà máy có sử dụng hai máy A và B, máy A sảnxuất ra n linh kiện (gọi tắt là linh kiện a) có thông số kỹ thuật a ;a ;a ; ;a , máy B sản1 2 3 n

xuất ra m linh kiện (gọi tắt là linh kiện b) có thông số kỹ thuật b ;b ;b ; ;b Một thiết bị1 2 3 m

được tạo ra là sự kết hợp của một linh kiện a và một linh kiện b và phải đảm bảo có tổngthông số kỹ thuật là S Giả thiết rằng các linh kiện do mỗi máy tạo ra đều có thông số kỹthuật khác nhau đôi một (không có hai linh kiện nào do một máy tạo ra có thông số kỹthuật giống nhau) Thông số kỹ thuật của mỗi linh kiện có thể là số âm

Yêu cầu: Hãy cho biết với quy trình sản xuất như vậy thì có bao nhiêu thiết bị được tạo

ra?

Dữ liệu: Vào từ file MANUEQUI.INP:

3

đôi một Tuy nhiên, do một nguyên nhân nào đó (lỗi phần mềm hay do Virus) mà trong

Trang 21

dãy số được tạo ra không như mong muốn, có rất nhiều số được tạo ra bị lặp lại một sốlần Nam là một người đam mê bộ môn tin học, Nam đã dùng chương trình tự viết củamình xóa đi các số bị lặp lại nhiều lần để chỉ giữ lại một lần.

Yêu cầu: Với dãy số được tạo ra thì cần xóa đi ít nhất bao nhiêu phần tử để dãy số còn lại

có các phần tử đôi một khác nhau

Dữ liệu: Vào từ file DELNUM.INP gồm 2 dòng:

3

Bài 52 Xuất hiện nhiều nhất Tên file chương trình APPMAX.PAS

Cho một dãy số nguyên có n phần tử a ;a ;a ; ;a 1 2 3 n

Yêu cầu: Hãy cho biết giá trị xuất hiện nhiều nhất trong dãy số đã cho là bao nhiêu lần?

Dữ liệu: Vào từ file APPMAX.INP gồm 2 dòng:

i

i 1,2,3, ,n; a= ≤10 )

Kết quả: Ghi ra file APPMAX.OUT một số nguyên duy nhất là số lần xuất hiện của giá

trị xuất hiện nhiều nhất

Ví dụ:

525212

3

Bài 53 Đếm số khác nhau Tên file chương trình COUNT.PAS

Cho một dãy số nguyên có n phần tử a ;a ;a ; ;a 1 2 3 n

Yêu cầu: Hãy đếm xem có bao nhiêu giá trị khác nhau trong dãy số đã cho.

Dữ liệu: Vào từ file COUNT.INP:

i

i 1,2,3, ,n; a= ≤10 )

Kết quả: Ghi ra file COUNT.OUT một số nguyên duy nhất là số các giá trị khác nhau

trong dãy số đã cho

Ngày đăng: 27/10/2016, 05:36

TỪ KHÓA LIÊN QUAN

w