Bai tap on thi HSG tin hoc

42 1.2K 1
Bai tap on thi HSG tin hoc

Đ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

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 .

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 (Giả sử x biến, ta cần nhớ sau) Byte 255 Shortint -128 +127 Integer (Smallint) -32768 32767 Word 65535 Longint -2147483648 2147483647 |x| ≈ 2.109 Longword (Cardinal) 4294967295 x ≈ 4.109 Int64 -9223372036854775808 9223372036854775807 |x| ≈ 9.1018 Qword 18446744073709551615 KIỂU SỐ THỰC (REAL): Từ khai báo Phạm vi biểu diễn Chữ số có nghĩa REAL 2.9E-39 1.7E+38 11-12 SINGLE 1.5E- 45 3.4E+38 7-8 DOUBLE 5.0E-324 1.7E+308 15-16 EXTENDED 3.4E- 4951 1.1E+4932 19-20 x ≈ 18.1018 Kích thước (Byte) 10 Bài 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 a, chiều rộng b Dữ liệu: vào từ file RECTAREA.INP chứa số nguyên dương a, b cách khoảng trắng ( a,b ≤ 4.109 ) Kết quả: ghi vào file RECTAREA.OUT kết diện tích hình chữ nhật Ví dụ: RECTAREA.INP RECTAREA.OUT 53 15 Bài Tính giá trị biểu thức P Tên file chương trình EXP.PAS 1 1 + + + + Cho biểu thức: P = 1.3 3.5 5.7 (2n − 1).(2n + 1) Yêu cầu: Tính giá trị 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 ≤ 109 ) Kết quả: Ghi file EXP.OUT giá trị P với 10 chữ số thập phân Ví dụ: EXP.INP EXP.OUT 0.4545454545 Trang ledacuoc@yahoo.com Bài Giá trị nhỏ Tên file chương trình MINVAL.PAS Cho đa thức: ax + bx + c ( < a ≤ 100; b , c ≤ 10 ) Viết chương trình tìm giá trị nhỏ đa thức với hệ số a, b, c cho trước Dữ liệu vào từ file MINVAL.INP chứa số nguyên a, b, c cách khoảng trắng Kết ghi vào file MINVAL.OUT giá trị nhỏ đa thức cho với chữ số thập phân Ví dụ: MINVAL.INP MINVAL.OUT -48 65 1.00 Bài Giao điểm đường thẳng Tên file chương trình INSPOINT.PAS Cho n đường thẳng phân biệt cắt đôi một, có k đường thẳng đồng quy Tính số giao điểm n đường thẳng cho Dữ liệu vào từ file INSPOINT.INP:  Dòng đầu chứa số nguyên n ( ≤ n ≤ 4.109 )  Dòng thứ hai chứa số nguyên k ( ≤ n ≤ 4.109 ;k < n ) Kết ghi vào file INSPOINT.OUT số giao điểm tìm Ví dụ: INSPOINT.INP 101 INSPOINT.OUT 5041 Bài Đ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 góc số đường chéo đa giác cho Dữ liệu vào từ file POLYGON.INP chứa số nguyên n ( ≤ n ≤ 109 ) Kết ghi vào file POLYGON.OUT:  Dòng thứ ghi tổng góc đa giác cho (đơn vị tính theo độ)  Dòng thứ hai ghi số đường chéo đa giác cho Ví dụ: POLYGON.INP POLYGON.OUT 720 Trang ledacuoc@yahoo.com Bài Tìm nghiệm đa thức Tên file chương trình XVALUE.PAS Viết chương trình tìm nghiệm đ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, dòng chứa số thực a, b ( a , b ≤ 100 ) Kết ghi vào file XVALUE.OUT nghiệm đa thức ax + b với chữ số thập phân Nếu đa thức có vô số nghiệm ghi “VSN”, đa thức vô nghiệm ghi “VN” Ví dụ: XVALUE.INP XVALUE.OUT - 1.50 23 VN 05 VSN 00 Bài Tinh giá trị biểu thức S Tên file chương trình EXP1.PAS n −1 n + Cho biểu thức: S = − + − + − (2n − 1) (2n + 1) Yêu cầu: Tính giá trị 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 ≤ 109 ) Kết quả: Ghi file EXP1.OUT giá trị S với chữ số thập phân Ví dụ: EXP1.INP EXP1.OUT 0.361904762 Bài Bội chung nhỏ 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ỏ 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 ≤ 100 )  n dòng chứa n cặp số nguyên dương a, b cần xét ( a,b ≤ 32767 ), giá trị a, b cách khoảng trắng Kết quả: Ghi file LCM.OUT n dòng, dòng thứ i ghi bội chung nhỏ cặp số a, b tương ứng cho dòng thứ i+1 tệp LCM.INP Ví dụ: LCM.INP LCM.OUT 15 12 10 10 42 21 60 10 12 Trang ledacuoc@yahoo.com Bài 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 số nguyên dương) Phương trình vô nghiệm, có vô số nghiệm (x, y, z) mà số x, y, z số nguyên dương (x, y, z > 0) Yêu cầu: Liệt kê tất nghiệm nguyên dương x, y, z phương trình (với x < y < z) cho biết có tất nghiệm Dữ liệu: Vào từ file INTEQUA.INP chứa số nguyên dương n ( < n ≤ 1000 ) Kết quả: Ghi vào file INTEQUA.OUT nghiệm tìm dòng ghi nghiệm với giá trị x, y, z cách dấu cách Dòng cuối ghi số lượng nghiệm Nếu nghiệm ghi số Ví dụ: INTEQUA.INP INTEQUA.OUT 10 5 Bài 10 Giải phương trình Tên file chương trình EQUTN.PAS 2 Cho phương trình x + y = z (*) Phương trình có vô số nghiệm xét các nghiệm có x, y, z số nguyên tố 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 nghiệm (*) Dữ liệu: Vào từ file ‘EQUTN.INP’, chứa số nguyên dương n ( < n ≤ 109 ) Kết quả: Ghi file ‘EQUTN.OUT’:  Mỗi dòng nghiệm theo thứ tự x, y, z  Dòng cuối ghi tổng số nghiệm tìm Ví dụ: EQUTN.INP 20 EQUTN.OUT 13 Bài 11 Phân tích thừa số nguyên tố Tên file chương trình PRIMEFAC.PAS Cho số nguyên dương n lớn Yêu cầu: Hãy phân tích n thành tích 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 ≤ 106 ) Kết quả: Ghi file PRIMEFAC.OUT tích thừa số nguyên tố phân tích từ số nguyên dương n, số nguyên tố cách dấu “.” (số cuối dấu “.”) Ví dụ: PRIMEFAC.INP PRIMEFAC.OUT 300 2.2.3.5.5 Bài 12 Chữ số tận Tên file chương trình NUMFINAL.PAS Cho hai số nguyên a n Yêu cầu: Tìm chữ số tận a n Dữ liệu: Vào từ file NUMFINAL.INP chứa số nguyên a, n cách khoảng trắng ( < a ≤ 18.1018 ;0 ≤ b ≤ 18.1018 ) Kết quả: Ghi file NUMFINAL.OUT chữ số tận a n Trang ledacuoc@yahoo.com Ví dụ: NUMFINAL.INP NUMFINAL.OUT 35 Bài 13 Chữ số tận số lớn Tên file chương trình NUMFILON.PAS Cho hai số nguyên a n Yêu cầu: Tìm chữ số tận a n Dữ liệu: Vào từ file NUMFILON.INP chứa số nguyên a, n cách khoảng trắng ( < a ≤ 10100 ;0 ≤ b ≤ 10100 ) Kết quả: Ghi file NUMFILON.OUT chữ số tận a n Ví dụ: NUMFILON.INP NUMFILON.OUT 35 Bài 14 Đếm số chữ số tận 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ố tận n! Dữ liệu: Vào từ file NUMBER0.INP chứa số nguyên dương n ( n ≤ 1018 ) Kết quả: Ghi file NUMBER0.OUT số nguyên số lượng chữ số tận n! Ví dụ: NUMBER0.INP NUMBER0.OUT Bài 15 Số “hồi văn” Tên file chương trình NUMBER1.PAS Số “hồi văn” số mà đọc xuôi, đọc ngược giống (số có chữ số coi số “hồi văn”) Ví dụ: số 3663 là số “hồi văn” Yêu cầu: Cho n số nguyên dương a1;a ;a ; ;a n Hãy cho biết n số cho có số “hồi văn”? Dữ liệu: Vào từ file NUMBER1.INP:  Dòng đầu số nguyên dương n ( n ≤ 105 )  n dòng tiếp theo, dòng thứ i số nguyên dương a i ( i = 1,2,3, ,n;a i ≤ 1018 ) Kết quả: Ghi file NUMBER1.OUT số nguyên số lượng số “hồi văn” n số cho Ví dụ: NUMBER1.INP NUMBER1.OUT 3 545 7272 3663 12345 Bài 16 Mật bí ẩn Tên file chương trình PASSWORD.PAS Bạn An người đam mê lập trình nên thường xuyên tham gia thi lập trình mạng Vì đạt thành tích cao nên An Ban tổ chức gửi tặng phần mềm học Trang ledacuoc@yahoo.com toán hấp dẫn Nhà sản xuất phần mềm cung cấp cho An mã số số nguyên dương M có không 255 chữ số Để cài đặt phần mềm, An phải nhập vào mật phần mềm Mật phần mềm số nguyên dương P tạo cách tính tổng giá trị chữ số số M Trong vai trò An em viết chương trình để tìm mật 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 Kết quả: Ghi file PASSWORD.OUT số nguyên dương P tìm Ví dụ: PASSWORD.INP PASSWORD.OUT 84915388247 59 Bài 17 Tổng số Tên file chương trình SUM.PAS Cho số nguyên dương n Bằng cách sử dụng số liên tiếp n (viết hệ thập phân), ta thu số nguyên (có thể trùng nhau) Ví dụ: n = 2014, ta thu số: 2, 0, 1, 4, 20, 01, 14, 201, 014, 2014 Yêu cầu: Hãy tính tổng số thu Trong ví dụ trên, ta có tổng cần tìm là: + + + + 20 + 01 + 14 + 201 + 014 + 2014 = 2271 Dữ liệu: Vào từ file SUM.INP chứa số nguyên dương n (102 ≤ n ≤ 109 ) Kết quả: Ghi file văn SUM.OUT tổng cần tìm Ví dụ: SUM.INP SUM.OUT 2014 2271 Bài 18 Tìm số k Tên file chương trình SEARCHK.PAS Cho hai số nguyên dương n m, m số nguyên tố Yêu cầu: Hãy tìm số nguyên dương k lớn thỏa mãn điều kiện n! chia hết cho m k Dữ liệu: Vào từ file SEARCHK.INP:  Dòng đầu số nguyên dương n ( n ≤ 109 )  Dòng thứ hai số nguyên tố m ( m ≤ 105 ) Kết quả: Ghi file SEARCHK.OUT số k tìm Ví dụ: SEARCHK.INP SEARCHK.OUT Bài 19 Tổng chẵn Tên file chương trình SUMEVEN.PAS Cho dãy số nguyên gồm n phần tử a1;a ;a ; ;a n Người ta chọn dãy hai phần tử a i a j ( i = 1,2,3, ,n; j = 1,2,3, ,n;i < j ) để tạo thành cặp số ( a i ;a j ) Yêu cầu: Hãy cho biết dãy có cặp số (được chọn trên) có tổng số chẵn Dữ liệu: Vào từ file SUMEVEN.INP:  Dòng đầu số nguyên dương n ( n ≤ 106 ) 18  n dòng tiếp theo, dòng thứ i phần tử a i ( i = 1,2,3, ,n; a i ≤ 10 ) Kết quả: Ghi file SUMEVEN.OUT số lượng cặp số có tổng số chẵn Trang ledacuoc@yahoo.com Ví dụ: SUMEVEN.INP SUMEVEN.OUT 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 a1;a ;a ; ;a n b1;b ;b3 ; ;b m Một cặp số ( a i ;b j ) gọi trung hòa chúng thỏa mãn điều kiện sau:  a i chọn số nguyên a1;a ;a ; ;a n ( i = 1,2,3, ,n )  b j chọn số nguyên b1;b ;b3 ; ;b m ( j = 1,2,3, ,m )  aib j < Yêu cầu: Hãy cho biết có cách chọn cặp số trung hòa Dữ liệu: Vào từ file NEUTRAL.INP:  Dòng thứ theo thứ tự chứa hai số nguyên dương n, m ( n,m ≤ 105 )  n dòng tiếp theo, dòng thứ i chứa số nguyên a i ( i = 1,2,3, ,n; a i ≤ 10 )  m dòng tiếp theo, dòng thứ j chứa số nguyên b j ( j = 1,2,3, , m; b j ≤ 10 ) Kết quả: Ghi file NEUTRAL.OUT số nguyên số cách chọn cặp số trung hòa Ví dụ: NEUTRAL.INP NEUTRAL.OUT 43 -2 -1 Bài 21 Những sợi dây xích k Tên file chương trình CHAINK.PAS Có n sợi dây xích, sợi thứ i có a i mắt xích ( i = 1,2,3, ,n ) Những sợ dây xích k sợi dây có 1k khoặc 2k 3k, … mắt xích, sợi dây xích có nhiều số mắt xích người ta cắt bớt mắt xích nối thêm mắt xích vào để tạo sợi dây xích k Yêu cầu: Với n sợi dây xích cho, cho biết sau tạo toàn sợi dây xích k mắt xích không dùng Dữ liệu: Vào từ file CHAINK.INP:  Dòng thứ theo thứ tự chứa hai số nguyên dương n, k ( n ≤ 106 ;k ≤ 1018 )  n dòng tiếp theo, dòng thứ i chứa số nguyên dương a i ( a i ≤ 1018 ;i = 1,2,3, ,n ) Kết quả: Ghi file CHAINK.OUT số nguyên số mắt xích lại không dùng Trang ledacuoc@yahoo.com Ví dụ: CHAINK.INP 33 CHAINK.OUT Bài 22 Phần dư Tên file chương trình MOD.PAS Cho hai số nguyên dương n 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 k ( n ≤ 106 ;k ≤ 109 ) Kết quả: Ghi file MOD.OUT số nguyên kết phép tính n Ví dụ: MOD.INP MOD.OUT 45 Bài 23 Phần dư Tên file chương trình MOD1.PAS Cho biểu thức S = + + + + (2n − 1) 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 số nguyên dương n k ( n,k ≤ 1018 ) Kết quả: Ghi file MOD1.OUT số nguyên kết phép tính Ví dụ: MOD1.INP MOD1.OUT 57 Bài 24 Phần dư Tên file chương trình MOD2.PAS 3 3 Cho biểu thức S = + + + + n 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 số nguyên dương n k ( n,k ≤ 1018 ) Kết quả: Ghi file MOD2.OUT số nguyên kết phép tính Ví dụ: MOD2.INP MOD2.OUT 200 25 Bài 25 Phần dư Tên file chương trình MOD3.PAS 2 2 Cho biểu thức S = + + + + n 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, dòng chứa số nguyên dương n k ( n,k ≤ 1018 ) Kết quả: Ghi file MOD3.OUT gồm nhiều dòng, dòng ghi số nguyên kết phép tính Ví dụ: MOD3.INP MOD3.OUT 90 10 45 10 Trang ledacuoc@yahoo.com … … Bài 26 Dãy số đặc biệt Tên file chương trình SEQ1.PAS Người ta gọi dãy số sau dãy số đặc biệt có n phần tử: a1 = 1;a = + 3;a = + + 5; ;a i = + + + + (2i − 1);a n = + + + + (2n − 1) Yêu cầu: Cho dãy số nguyên có n phần tử Hãy cho biết sau xếp lại, dãy số cho có phải dãy số đặc biệt không Dữ liệu: Vào từ file SEQ1.INP:  Dòng đầu số nguyên dương n ( n ≤ 106 ) 18  n dòng tiếp theo, dòng thứ i phần tử a i ( i = 1,2,3, ,n; a i ≤ 10 ) Kết quả: Ghi file SEQ1.OUT: dãy cho dãy số đặc biệt dòng ghi phần tử dãy sau xếp tăng, dãy cho dãy số đặc biệt ghi số Ví dụ: SEQ1.INP SEQ1.OUT SEQ1.INP SEQ1.OUT 3 9 4 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ố a1;a ;a ; ;a n gọi dãy số có tổng vị thứ a i = + + + + i (với i = 1,2,3, ,i ) Yêu cầu: Cho dãy số nguyên có n phần tử Hãy cho biết sau xếp lại, dãy số cho có phải dãy số có tổng vị thứ không Dữ liệu: Vào từ file SEQ2.INP:  Dòng đầu số nguyên dương n ( n ≤ 50000 )  n dòng tiếp theo, dòng thứ i phần tử a i ( i = 1,2,3, ,n; a i ≤ 2.10 ) Kết quả: Ghi file SEQ2.OUT:  Ghi số dãy vị thứ  Ghi số dãy cho dãy vị thứ, n dòng dòng phần tử dãy vị thứ cho sau xếp giảm Ví dụ: SEQ2.INP SEQ2.OUT SEQ2.INP SEQ2.OUT 4 10 10 10 1 Bài 28 Đoạn tăng dài Tên file chương trình SUBSEG1.PAS Cho dãy gồm n số nguyên a1 ,a ,a , ,a n Yêu cầu: Hãy tìm đoạn tăng dài gồm phần tử liên tiếp dãy cho Dữ liệu: Vào từ file SUBSEG1.INP gồm dòng:  Dòng đầu số nguyên dương n ( n ≤ 106 ) Trang ledacuoc@yahoo.com  Dòng thứ hai phần tử a i dãy, phần tử cách khoảng trắng ( i = 1,2,3, ,n; a i ≤ 2.1018 ) Kết quả: Ghi file SUBSEG1.OUT số nguyên số lượng phần tử đoạn tìm Ví dụ: SUBSEG1.INP SUBSEG1.OUT 3 Bài tập bổ sung: Tên file chương trình SUBSEG1R.PAS Yêu cầu tương tự trên, thay đổi file output sau: Kết quả: Ghi file SUBSEG1.OUT:  Dòng đầu ghi số nguyên số lượng phần tử đoạn tìm  Dòng thứ hai ghi phần tử đoạn tìm được, phần tử cách khoảng trắng Ví dụ: SUBSEG1.INP SUBSEG1.OUT 3 Bài 29 Đoạn có tổng lớn Tên file chương trình SUBSEG2.PAS Cho dãy gồm n số nguyên a1 ,a ,a , ,a n Yêu cầu: Hãy tìm đoạn có tổng lớn gồm phần tử liên tiếp dãy cho Dữ liệu: Vào từ file SUBSEG2.INP gồm dòng:  Dòng đầu số nguyên dương n ( n ≤ 106 )  Dòng thứ hai phần tử a i dãy, phần tử cách khoảng trắng ( i = 1,2,3, ,n; a i ≤ 2.109 ) Kết quả: Ghi file SUBSEG2.OUT số nguyên tổng phần tử đoạn tìm Ví dụ: SUBSEG2.INP SUBSEG2.OUT 11 -4 -8 Bài tập bổ sung: Tên file chương trình SUBSEG2R.PAS Yêu cầu tương tự trên, thay đổi file output sau: Kết quả: Ghi file SUBSEG2.OUT:  Dòng ghi vị trí phần tử đoạn tìm  Dòng thứ hai ghi vị trí phần tử cuối đoạn tìm  Dòng thứ ba ghi tổng phần tử đoạn tìm Ví dụ: SUBSEG2.INP SUBSEG2.OUT 3 -4 -8 11 Trang 10 ledacuoc@yahoo.com SUMPRIME.INP SUMPRIME.OUT 10 Bài 67 Đường lưới Tên file chương trình ROAD.PAS m × n Cho hình chữ nhật kích thước Người ta chia hình chữ nhật thành m × n hình vuông có cạnh đơn vị Một kiến bò từ góc trái (A) đến góc phải (B) theo nguyên tắc sau: lên (ký hiệu L) sang phải (ký hiệu P) theo cạnh hình vuông Yêu cầu: Hãy tất cách kiến để từ A đến B Dữ liệu: vào từ file văn ROAD.INP chứa hai số nguyên m, n ( < m,n < 10 ) Kết quả: ghi file văn ROAD.OUT số tổng số cách từ A tới B kiến Ví dụ: ROAD.INP ROAD.OUT 23 10 Giải thích: với m = 2, n = ta có 10 cách sau: LLPPP B LPLPP LPPLP LPPPL PLLPP PLPLP A PLPPL PPLLP PPLPL PPPLL Bài 68 Xếp đồng hồ Tên file chương trình CLOCK.PAS Có n đồng hồ điện tử dùng pin lượng nguyên tử, đồng hồ đánh số thứ tự từ đến n Đồng hồ thứ i hoạt động sinh lượng từ trường độc hại a i Người ta bố trí đồng hồ hàng, đồng hồ đặt gần mà tổng từ trường chúng số nguyên tố gây cộng hưởng làm cho đồng hồ hoạt động không xác, ngược lại đồng hồ hoạt động bình thường Yêu cầu: Hãy cho biết có cách xếp đồng hồ hoạt động bình thường? Dữ liệu: vào từ file CLOCK.INP:  Dòng thứ chứa số nguyên dương n ( n ≤ 20 )  Trong N dòng tiếp theo, dòng thứ i chứa số nguyên dương a i ( a i ≤ 109 ) Kết quả: ghi file CLOCK.OUT số nguyên số cách xếp thỏa mãn điều kiện Ví dụ: CLOCK.INP CLOCK.OUT Bài 69 Số phong phú Tên file chương trình RICHNUM.PAS Số phong phú số mà tổng ước số (không tính số đó) lớn số Trang 28 ledacuoc@yahoo.com Yêu cầu Cho số nguyên dương N (0 < N ≤ 1014) kiểm tra xem N có phải số phong phú hay không Dữ liệu vào từ file RICHNUM.INP chứa số nguyên dương N (0 < N ≤ 1014) Kết ghi vào file RICHNUM.OUT gồm dòng:  Dòng đầu ghi số N số phong phú, ngược lại ghi -1  Dòng thứ ghi tổng ước tìm Ví dụ: RICHNUM.INP RICHNUM.OUT 12 16 Giải thích : Số 12 có ước 1+2+3+4+6=16>12 số phong phú Bài 70 Đũa thần Tên file chương trình GODSTICK.PAS Trong lần chơi, bé Bo vô tình lạc vào xứ sở phù thủy gặp HarryPotter HarryPotter có N đũa thần theo thứ tự từ tới N, xác định số khả pháp thuật (gọi giá trị đũa) a 1, a2, ,an Để kỉ niệm buổi gặp gỡ, HarryPotter định tặng cho Bo số đũa thần cho Bo lựa chọn với quy tắc sau : Trong số đũa chọn, đũa có số thứ tự lớn phải có giá trị chia hết cho đũa có số thứ tự nhỏ (a i chia hết cho aj với j[...]... “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; T - Sử dụng hàm này bạn mất   số tiền  2n  - 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; T - Sử dụng hàm này bạn mất  2  số tiền... “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... 5 1000 1 2 100 5 6 300 3 4 200 7 8 400 8 10 100 Bài 62 Nối điểm Tên file chương trình CONPOINT.PAS Trên hai đường thẳng song song L1 và L 2 người ta thực hiện ghi các con số như sau: trên đường thẳng L1 lần lượt có các con số a1;a 2 ;a 3 ; ;a n theo trình tự từ trái sang phải; trên đường thẳng L 2 lần lượt có các con số b1;b 2 ;b3 ; ;b n cũng theo trình tự từ trái sang phải; hai số đứng kế nhau trên... Một đoạn thẳng được tạo ra bằng cách nối một con số của đường thẳng L1 với một con số của đường thẳng L 2  Gọi a i1 và bi2 là hai con số được nối để tạo ra đoạn thẳng d i ; a j1 và b j2 là hai con số được nối để tạo ra đoạn thẳng d j Nếu i

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan