40
PHẦN CĂN BẢN Bài 1: Trong các biểu thức toán học sau, biểu thức nào có kiểu Logic (tức là Boolean theo chuẩn của Pascal): a. X 2 + y 2 >0 b. ax 2 + bx + c c. 1 + ½ + 1/3 + … + 1/100 d. F(x) = x 4 + 3x 2 + 5x 2 – 10x – 3 Bài 2: Tính giá trị của các biểu thức sau: a. (2>1 + 1.5 2 ) or not (5 2 = 3 2 + 4 2 ) b. Not(2>1) and (12=10+2) or not((10<0)and(1+1/2+1/3>7/4)) Bài 3: Viết chương trình nhập vào từ bàn phím số tự nhiên N và thông báo kết quả ra màn hình như sau: a. Nếu N<10 thì thông báo “N có một chữ số” b. 10<=N<100 thì thông báo “N có hai chữ số” c. Nếu 100<=N<1000 thì thông báo “N có 3 chữ số” d. Nếu N>=1000 thì thông báo “N rất lớn” và in số đảo ngược của N ra màn hình. Bài 4: CHỉ dùng một biến kiểu boolean hãy viết chương trình so sánh hai số (1+1/100) 101 và (1+101) 100 Bài 5: Nhập vào 3 số thực dương a,b,c. hãy kiểm tra đoạn thẳng c có thể đặt nằm gọn trong hình chữ nhật cạnh a,b hay không? Bài 6: Giải bài toán cổ điển: Trăm trâu trăm cỏ Trâu đứng ăn năm Trâu nằm ăn ba Trâu già ba con ăn 1 Hỏi có bao nhiêu trâu mỗi loại? Bài 7:Tìm tất cả các số có 3 chữ số sao cho tổng các lập phương của các chữ số bằng chính nó. Bài 8: Tìm số nhỏ nhất lớn hơn N (N nhập từ bàn phím) sao cho tổng các chữ số của nó bằng chính nó. Bài 9: Tìm số lớn nhất nhỏ hơn N (N nhập từ bàn phím) sao cho tổng các chữ số của nó bằng chính nó. Bài 10: Cho số tự nhiên m. Tìm số nguyên k lớn nhất thỏa mãn 4 k < m. Bài 11: Cho các số thực x, y 1 ,y 2 ,…,y 100 (y1< y2 <…<y 100 ) y 1 <x < y 100 . Tìm chỉ số k sao cho y k-1 < x <= y k+1 . Bài 12: Số đối xứng: Một số được gọi là số đối xứng khi các chữ số của nó đối xứng qua tâm. Ví dụ : 5, 44, 212, 71217 là số đối xứng. Yêu cầu: cho một số nguyên dương x (x có số chữ số <= 100), hãy tìm số đối xứng lớn hơn và gần x nhất. Cho một số x = 371, số đối xứng lớn hơn và gần x nhất là 373. Bài 13: Liệt kê các số đối xứng Một số nguyên dương được gọi là đối xứng nếu chữ số thứ nhất bằng chữ số cuối, chữ số thứ hai bằng chữ số gần cuối… Cho 2 số nguyên dương m và n (m<n) và liệt kê các số đối xứng nằm giữa m và n.

· Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

  • Upload
    dodung

  • View
    252

  • Download
    21

Embed Size (px)

Citation preview

Page 1: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

PHẦN CĂN BẢNBài 1: Trong các biểu thức toán học sau, biểu thức nào có kiểu Logic (tức là Boolean theo chuẩn của Pascal):

a. X2 + y2 >0b. ax2 + bx + cc. 1 + ½ + 1/3 + … + 1/100d. F(x) = x4 + 3x2 + 5x2 – 10x – 3

Bài 2: Tính giá trị của các biểu thức sau:a. (2>1 + 1.52) or not (52 = 32 + 42)b. Not(2>1) and (12=10+2) or not((10<0)and(1+1/2+1/3>7/4))

Bài 3: Viết chương trình nhập vào từ bàn phím số tự nhiên N và thông báo kết quả ra màn hình như sau:a. Nếu N<10 thì thông báo “N có một chữ số”b. 10<=N<100 thì thông báo “N có hai chữ số”c. Nếu 100<=N<1000 thì thông báo “N có 3 chữ số”d. Nếu N>=1000 thì thông báo “N rất lớn” và in số đảo ngược của N ra màn hình.

Bài 4: CHỉ dùng một biến kiểu boolean hãy viết chương trình so sánh hai số(1+1/100)101 và (1+101)100

Bài 5: Nhập vào 3 số thực dương a,b,c. hãy kiểm tra đoạn thẳng c có thể đặt nằm gọn trong hình chữ nhật cạnh a,b hay không?Bài 6: Giải bài toán cổ điển:

Trăm trâu trăm cỏTrâu đứng ăn nămTrâu nằm ăn baTrâu già ba con ăn 1

Hỏi có bao nhiêu trâu mỗi loại?Bài 7:Tìm tất cả các số có 3 chữ số sao cho tổng các lập phương của các chữ số bằng chính nó.Bài 8: Tìm số nhỏ nhất lớn hơn N (N nhập từ bàn phím) sao cho tổng các chữ số của nó bằng chính nó.Bài 9: Tìm số lớn nhất nhỏ hơn N (N nhập từ bàn phím) sao cho tổng các chữ số của nó bằng chính nó.Bài 10: Cho số tự nhiên m. Tìm số nguyên k lớn nhất thỏa mãn 4k < m.Bài 11: Cho các số thực x, y1,y2,…,y100 (y1< y2 <…<y100) y1 <x < y100. Tìm chỉ số k sao cho yk-1 < x <= yk+1.Bài 12: Số đối xứng:

Một số được gọi là số đối xứng khi các chữ số của nó đối xứng qua tâm.Ví dụ : 5, 44, 212, 71217 là số đối xứng. Yêu cầu: cho một số nguyên dương x (x có số chữ số <= 100), hãy tìm số đối xứng lớn hơn và gần x nhất.Cho một số x = 371, số đối xứng lớn hơn và gần x nhất là 373.

Bài 13: Liệt kê các số đối xứngMột số nguyên dương được gọi là đối xứng nếu chữ số thứ nhất bằng chữ số cuối, chữ số thứ hai bằng chữ số gần cuối… Cho 2 số nguyên dương m và n (m<n) và liệt kê các số đối xứng nằm giữa m và n.Chúng ta có thể lần lượt kiểm tra tính đối xứng của các số từ m đến n bằng cách đảo ngược số đang xét, một số là đối xứng nếu đảo lại vẫn bằng chính nó.

Bài 14: Tính tổng m chữ số cuối của nCho 2 số tự nhiên n, m. Hãy tính tổng m chữ số cuối cùng của n

Bài 15: Tính tổngCho số nguyên dương n, người ta viết các số nguyên liên tiếp từ 1 tới n trong hệ thập phân để tạo ra 1 dãy các chữ số. Tính tổng các chữ số của dãy.Input Một số n duy nhất (n <= 10100)OutputSố nguyên duy nhất là kết quả tìm đượcExampleInput:3Output:

Page 2: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

6Bài 16: Điền dấu

Hãy điền các dấu "+" hoặc "-' vào các vị trí thích hợp của dãy số giảm dần 987654321 để = 100. Đưa ra tất cả các phương án tìm được.Vd: 98-7+6+5+4-3-2-1=1009+8+76+5+4-3+2-1=100

Bài 17: Bài toán sốViết chương trình in ra màn hình tất cả các số nguyên tố N có k chữ số (k<=4) và in ra bảng đối chiếu gồm tất cả các số thập phân mà có số nhị phân tương ứng gồm s chữ số.Ví dụ :K=2 s=3Kết quả:11 13 17 19 23 …974 1005 1016 1107 111

Bài 18: Tính 2n

Viết chương trình tính 2^n (với n>=300).ví dụ:n=300 kết quả:20370359763344860862684456884093781610514683936659 36250636140449354381299763336706183397376n=1750kết quả:63458881329063928298597300890393187934452711339340624503163216897526049542331064637824306684678017409589648376227743951260242376028504008896725372091266260687912746396908332236941695578810792457081366628187859684807564482349826053407205446288276847956690224674244705065286697736380550619441413433688679714871329397815387246083339487636689850242508381087761260082470397550651464224897551293947068756263588478482958085631680258818589678856964206134578170223425956448891992966353626713765173107628514602 446304450779684546621210624Bài 19: Số vòng

Bài toán: Một số có độ dài n chữ số được gọi là “vòng” khi ta nhân nó với bất kỳ số nguyên nào từ 1 đến n ta đều thu được một vòng của các chữ số của số nguyên gốc, tức là có thể chuyển chữ số cuối ra thành chữ số đầu một số lần ta sẽ được số nguyên gốc.Ví dụ: số 142857 là một số “vòng” vì n=6142857 x 1 = 142857142857 x 2 = 285714142857 x 3 = 428571142857 x 4 = 571428142857 x 5 = 714285142857 x 6 = 857142Yêu cầu: Xác định một số có “vòng” hay không?Input: Nhập số N có khỏang 60 chữ số, có thể có số 0 ở đầu: 01 là số có hai chữ số khác với số 1. Output: Ghi ra màn hình kết quả cho biết số đó có vòng hay không?ví dụ:142857-------------------------------->Số vòng0588235294117647------------------->Số vòng052631578947368421---------------->Số vòng0434782608695652173913----------->Không phải số vòng0344827586206896551724137931--->Không phải số vòng

Page 3: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài 20: Dãy số:Ứng với mỗi số tự nhiên x, ta có số tự nhiên f(x) bằng tổng bình phương các chữ số của x, từ x ta xây dựng dãy Xn như sau:X1 = x, X2 = f(X1), X3 = f(X2), …, Xn = f(Xn-1) = Xi với 1<=i<=n-1.Dãy này kết thúc khi lặp nó bắt đầu lặp lại chu kỳ của nó. Có nghĩa là nó sẽ dừng khi một xi nào đó trùng lại một trong các xi trước nó.Ví dụ X =12 ta có dãy:12, 5, 25, 29, 85, 89, 145, 42, 20, 4, 16, 37, 58, 89X=13 ta có dãy :13, 10, 1, 1Viết chương trình nhập vào hai số tự nhiên a và b (a<b), hãy chỉ ra các số x (a<=x<=b) sao cho từ x ta xây dựng được dãy Xn dài nhất trong các dãy xây dựng được. Chương trình kết thúc khi nhập a=b.Ví dụ :Trường hợp a=90 và b=145Ta có dãy sau :112 6 36 45 17 50 25 29 85 89 145 42 20 4 16 37 58 89121 6 36 45 17 50 25 29 85 89 145 42 20 4 16 37 58 89Độ dài của hai dãy trên là 19 phần tử

Bài 21: Số chia hết hoàn toànSố chia hết hoàn toàn là số có tất cả các chữ số đều là ước của số hình thành từ số chữ số đầu tiên đến chữ số đó.Cho số nguyên N (N<30001), tìm số số chia hết hoàn toàn thoả mãn lớn hơn 10 và nhỏ hơn N.

Bài 22: Bài toán diện tích cực đạiCho một ma trận gồm toàn các số 0,1. hãy tìm diện tích hình chữ nhật lớn nhất chứa toàn số 1.Dữ liệu vào được nhập từ bàn phím- Nhập 2 số nguyên M,N (1<M,N<150) mỗi số cách nhau 1 khoảng trắng- N dòng sau, mỗi dòng chứa M số nguyên (0,1) mỗi số cách nhau một khoảng trắngDữ liệu ra ghi ra màn hình- Dòng đầu ghi số nguyên là diện tích lớn nhất tìm được- Dòng thứ hai ghi 4 số nguyên , hai số đầu là ghi đỉnh trên bên trái, hai số cuối là toạ độ đỉnh dưới bên phải của hình chữ nhật tìm đượcví dụ:18 100 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 00 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 00 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 01 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 10 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 01 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 01 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1Kết quả: 802 6 9 15

Bài 23: Bài toán diện tíchCho một bảng hình chữ nhật kích thước M x N, gồm MxN hình vuông đơn vị (hình vuông đơn vị là hình vuông có cạnh là 1 đơn vị). trên mỗi hình vuông đơn vị có một chữ cái trong bảng chữ cái tiếng anh viết hoaBài tóan: Tìm diện tích hình chữ nhật lớn nhất có kích thước P x Q (1<P<M và 1<Q<N) trong bảng chữ nhật nói trên mà tất cả các chữ cái trong hình vuông đơn vị là đôi một khác nhau.ví dụ:

Page 4: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

4 4AECGFFJH FFFFABCDkết quả:6ECGFJH

Bài 24: Dãy số dài vô hạnCác số chính phương xếp theo thứ tự không giảm sẽ tạo thành một dãy số dài vô hạn. ví dụ: 149162536496481100…. Em hãy viết chương trình nhập vào số nguyên dương N sau đó in ra chữ số thứ N của dãy số chính phương vô hạn nói trênví dụ: N = 10 --> Kết quả: 4

Bài 25: Giải phương trình trong phạm vi số nguyên không âm:X + Y + Z = 10

Bài 26: Giải phương trình x+y+z=12 trong phạm vi số nguyên không âm với điều kiện x<4?Bài 27: Giải phương trình x+y+z=13 trong phạm vi số nguyên không âm với điều kiện x<4,y<5,z<6?Bài 28: cho trước các số tự nhiên N,a,b,c. giải phương trình sau trong phạm vi số nguyên không âm:X+y+z=N với điều kiện x<a,y<b,z<c.Bài 29 : Cho n xâu kí tự S1,S2,..,Sn gọi d(U,V) (với U và V là hai xâu kí tự bất kì) là tổng số kí tự không giống nhau trong hai xâu trên, mỗi loại kí tự chỉ được nhớ một lần. ví dụ d(‘aabbc’,’bcdd’)=2 vì chỉ có hai kí tự a và d là không giống nhau trong xâu trên.

a. viết hàm tính d(U,V)b. tính max(d(U,V)) và min(d(U,V))

Bài 30: (Bảy hai không)Cho số nguyên dương N (0<=N<=500.000). Tìm số nguyên dương S nhỏ nhất thoả mãn tính chất sau đây:

a. S>=Nb. Trong biểu diễn cơ số 10, S không chứa các chử số khác ngoài 7,2,0 và không bắt đầu bằng 0.c. S chia hết cho N.

Ví dụ:Bộ test Kết quả361

2770272

Bài 31: (Số Hexa)Cho các chữ số hệ 16 là: 0,1,2,...,9, A,B,…,F. Xét tập H là các số hệ 16, không quá 8 chữ số, trong mỗi số không có chữ số nào giống nhau và không có chữ số 0 khôn có nghĩa ở đầu, số lớn nhất trong tập này là FEDCBA98, số thứ 2 là FEDCBA97,….Yêu cầu: cho số nguyên N (N <> 0) và một số X hệ 16 thuộc tập H, nếu K là số thứ tự của X sắp theo thứ tự giảm dần, Hãy xác định số Y trong tập H có thứ tự là N+KVí dụ:

Bộ test Kết quả3 FEDCBA95-2 FEDCBA94

FEDCBA92FEDCBA96

Bài 31: Cho trước một dãy số bao gồm các số 0 và 1. Dãy này có độ dài <255. Người ta định nghĩa dãy con đúng như sau: Một dãy con đúng là một dãy con liên tục bất kỳ của dãy trên bao gồm các số hạng giống nhau.Nhiệm vụ:

1. Viết chương trình tìm dãy con đúng dài nhất của dãy trên.2. Một dãy con đúng bậc 1 của dãy trên được coi là một dãy con bất kỳ của dãy trên bao gồm các số

hạng giống nhau ngoại trừ các dãy con có 2 phần tử trở xuống. Hãy tính độ dài dài nhất của dãy con đúng bậc 1.

Chý ý: bản thân dãy số cũng là dãy con của chính nó.Yêu cầu: Kiểm tra dữ liệu vào chặt chẽ. Lưu file bài làm với tên DCDUNG.PAS

Page 5: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Ví dụ:DCDUNG.INP DCDUNG.OUT

111100001110101010101111111111111 1313

101010101010101010101 10

101010202010101010101 Dữ liệu sai!0

Bài 32: Cho một dãy gồm N hòn bi gồm 3 màu Trắng (T), Đỏ (D) và Xanh (X) xếp thành một dãy thẳng. Hãy viết chương trình chỉ dùng phép đổi chỗ hai hòn bi khác màu ở hai vị trí khác nhau (Không dùng phép chèn) để xếp lại dãy các hòn bi sao cho đầu dãy là các hòn bi trắng, giữa là các hòn bi đỏ và cuối cùng là các hòn bi xanh. Chương trình dùng càng ít phép đổi chổ hai hòn bi càng tốt. Lưu bài làm với tên XB.PASInput: cho trong file XB.IN dòng đầu ghi số N (N<=10000), dòng sau lần lượt ghi N số thuộc tập {1,2,3} với qui định số 1 là hòn bi Trắng, 2 là hòn bi Đỏ, số 3 là hòn bi Xanh, các số cách nhau ít nhất 1 dấu cách.Output:xuất ra file XB.OUT:

Dòng đầu là phép đổi chổ hai hòn bi khác màuCác dòng sau mỗi dòng 50 số ghi các số dãy bi đã sắp xếp theo yêu cầu đề bài, các số cùng dòng ghi

liền nhau.Ví dụ:

XB.IN XB.OUT102 1 3 2 1 2 2 1 3 1

31111222233

Bài 33: Dãy số hạnh phúc:Tại vương quốc Ba Tư xa xưa, người ta thường tổ chức các cuộc thi tìm dãy số hạnh phúc: các chàng trai, cô gái thông minh trong thời gian ngắn nhất phải tìm ra được một dãy số hạnh phúc gồm nhiều phần tử nhất

Dãy số tự nhiên a1,a2,…ak được gọi là hạnh phúc nếu thoả mãn các điều kiện sau đây:- Dãy trên là dãy không tăng.- Với mọi i>1, ai hoặc là số nguyên tố hoặc phải là ước của một trong các số a1,a2,…,ai-1.

Nhiệm vụ: Em hãy lập trình để giúp các chàng trai, cô gái Ba Tư tìm ra dãy số hạnh phúc càng dài càng tốt, với số hạng đầu tiên là N.Dữ liệu vào cho trong file HAPPY.INP gồm một dòng duy nhất chứa số nguyên dương NDữ liệu ra ghi ra file HAPPY.OUT là dãy số hạnh phúc các số cách nhau 1 khoảng trắng.Chú ý: Lưu bài bàm với tên HAPPY.PAS, kiểm tra dữ liệu vào.Ví dụ:

HAPPY.INP HAPPY.OUT8 8 5 3 2 1

Bài 34: Cho một dãy số nguyên dương. Hãy tìm tất cả các phần tử có tổng bằng tổng 2 phần tử khác của dãy.Dữ liệu vào cho trong file MANG.INP gồm 2 dòng

Dòng 1: ghi số NDòng 2 ghi N số nguyên mỗi số cách nhau ít nhất 1 khoảng trắng.

Dữ liệu ra cho trong file MANG.OUT gồm nhiều dòng, mỗi dòng ghi một số nguyênChú ý: lưu bài làm với tên MANG.PASVí dụ:

MANG.INP MANG.OUT101 2 3 4 5 6 0 100 58 10

3 = 1 + 24 = 1 + 35 = 1 + 45 = 3 + 210= 4 + 6

Bài 35: Dãy FAREYTên file văn bản bài làm tên FAREY.PASTên file chứa dữ liệu vào FADEY.INP

Page 6: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Tên file chứa dữ liệu ra FADEY.OUTDãy Farey của số tự nhiên n, ký hiệu F(n) là dãy sắp tăng các phân số trong khỏang [0,1] tức là các phân số tối giản có dạng t/m với 0<=t<=m<=n. với phân số đầu tiên của dãy có giá trị là 0, ta qui định viết 0/1, với phân số cuối cùng của dãy có giá trị là 1 ta qui định viết 1/1. Biết n trong khỏang từ 1 đến 300. Viết dãy Farey của n

FAREY.INP FAREY.OUTN k

t1 m1

t2 m2

…..tk mk

Trong đó k là số lượng phân số trong dãy tìm được. mỗi dòng chứa một phân số ti mi. dữ liệu trên cùng một dòng cách nhau ít nhất 1 dấu cách.Ví dụ:

FAREY.INP FAREY.OUT4 7

0 11 41 31 22 33 41 1

Bài 36: Số nguyên tố.Tên file văn bản bài làm tên NGUYENTO.PASTên file chứa dữ liệu vào NGUYENTO.INPTên file chứa dữ liệu ra NGUYENTO.OUTGiai thừa N ký hiệu là N! là tích của tất cả các số nguyên tố từ 1 đến N. Giai thừa N tăng rất nhanh, ví dụ: 5!=120, 10!=3628800. Một cách để xác định cá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 1) có nghĩa là 825 = 20.31.52.70.111.Cho một số nguyên dương N<=1000. Hãy tìm biểu diễn của số N! dưới dạng số lần xuất hiện các số nguyên tố trong phân tích số N ra các thừa số nguyên tố.Dữ liệu vào cho trong file NGUYENTO.INP gồm 1 dòng duy nhất chứa số NDữ liệu ra ghi ra file NGUYENTO.INP dãy các số là số lần xuất hiện các số nguyên tố trong phân tích của N!.Ví dụ:

DAYSO.INP DAYSO.OUT10 8 4 2 1

Bài 37: Hóan vị trướcTên file văn bản bài làm tên PREPER.PASTên file chứa dữ liệu vào PREPER.INPTên file chứa dữ liệu ra PREPER.OUTCác hóan vị của n chữ cái đầu tiên trong bảng tiếng anh viết thường a..z được sắp theo thứ tự từ điển. Cho trứơc hóan vị H trong dãy trên, hãy tìm hóan vị P đứng sát trước hóan vị của H.Dữ liệu vào ghi trong tập tin PREPER.INP gồm:- Dòng đầu tiên là giá trị t cho biết số lượng các bộ test (1 <=t<=10)- T dòng tiếp theo mỗi dòng ghi một bộ test.

Page 7: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Dữ liệu ra ghi ra file PREPER.OUT gồm t dòng ứng với t bộ test đã cho, mỗi dòng là một háon vị P đứng sát trước hóan vị H trong test tương ứng. nếu không có hóan vị sát trước thì ghi số 0.Ví dụ:

PREPER.INP PREPER.OUT3acbbacdabcd

abcadcb0

Bài 38: Hoán vị

Tên file văn bản bài làm tên HOANVI.PAS

Tên file chứa dữ liệu vào HOANVI.INP

Tên file chứa dữ liệu ra HOANVI.OUT

Cho X là một hoán vị của N số nguyên dương đầu tiên (1 <=N <=9). Các hoán vị được liệt kê theo thứ tự từ

điển. Ví dụ: N =3 123 < 132 < 213 < 231 < 312 < 321. yêu cầu: Tìm một hoán vị Y của N số nguyên dương

đầu tiên gần hoán vị X nhất (X<Y) sao cho: số nguyên được tạo bởi các chữ số của hoán vị Y giữ nguyên thứ tự

chia hết cho một số nguyên k cho trước ( 2 <=k<=8)

HOANVI.INP HOANVI.OUT

N = 3; K = 4

213

312

Bài 39: Thành Lũy

Tên file văn bản bài làm tên THANHLUY.PAS

Tên file chứa dữ liệu vào THANHLUY.INP

Tên file chứa dữ liệu ra THANHLUY.OUT

Trong thời chiến tranh vùng vịnh, để đề phòng sự tấn công của các binh lính Mỹ và lính Nato, tổng thống Irắc

Sadam Hussen đã quyết định cho xây các căn cứ phòng thủ quanh các khu vực trọng điểm ở lãnh thổ Irắc.

Theo lời khuyên của một tín đồ khủng bố ANKEDA theo đạo hồi là Binladen, tên các căn cứ phải được chọn là

một xâu con các kí tự liên tiếp nhau của một tên W nào đó do tổ chức khủng bố qui định. Ví dụ: W là

‘baobaab’ thì tên của các căn cứ có thể là: ‘ba’, ‘oba’, ‘baab’, …, còn ‘bab’ hoặc ‘bob’ không thể được dùng để

đặt tên, dĩ nhiên các căn cứ khác nhau không được đặt tên trùng nhau. Sadam Hussen muốn biết có thể xây

tối đa bao nhiêu căn cứ dựa vào số tên có thể đặt vì thế ơng mới ra lnh cho lập trình vin giỏi nhất của nội cc

của ơng lập trình để giải quyết các vấn đề trn..

Dữ liệu vào cho trong file THANHLUY.INP gồm một dòng chứa tên W của Binladen

THANHLUY.INP THANHLY.OUT

Baobaab 23

Bài 40: BIẾN ĐỔI XÂUTên file văn bản bài làm tên BD_XAU.PAS

Page 8: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Tên file chứa dữ liệu vào BD_XAU.INPTên file chứa dữ liệu ra BD_XAU.OUTCho trước một xâu nhị phân có độ dài bất kỳ, cần biến đổi xâu nhị phân này về dạng toàn số 0, các phép biến đổi chỉ có thể là một trong các loại sau:

Biến đổi xâu con 11 thành 00Biến đổi xâu 010 thành 000

Hãy chỉ ra một các biến đổi xâu đã cho thành xâu có toàn số 0.Dữ liệu vào cho trong file văn bản BD_XAU.INP gồm một dòng duy nhất chứa xâu nhị phânDữ liệu ra ghi ra file BD_XAU.OUT gổm nhiều dòng, mỗi dòng là 1 phép biến đổi thứ iVí dụ:

BD_XAU.INP BD_XAU.OUT

11111111111111111111 1111111111111111111111111111111111111100001111111111111111000000111111111111110000000011111111111100000000001111111111000000000000111111110000000000000011111100000000000000001111000000000000000000110000000000000000000000

10111111111111111110 Khong the bien doi

Bài 41: Cho hai dãy số nguyên dươnga1, a2,…, an

b1,b2,…, bm

Sao cho: a1 + a2 + … + an = b1 + b2 + bm

Yêu cầu: hãy lập một bảng C[1..n, 1..m] gồm các số nguyên dương thỏa mãn:- Tổng các số hàng I bằng ai

- Tổng các số cột j bằng aj

Dữ liệu vào cho trong file GREEDY.INP gồm hai dòng:- Dòng đầu ghi dãy a gồn n phần tử- Dòng hai ghi dãy b gồm m phần tử

Kết quả: xuất ra file GREEDY.OUT ghi mảng CChú ý: Các số trong file cách nhau ít nhất một dấu cách.Bài 42: Chuỗi đối xứngMột chuỗi được gọi là đối xứng nếu nó không có ít hơn một ký tự và nếu ta đọc từ trái sang phải hay từ phải sang trái đều giống nhau. Ví dụ: ‘A’; ‘TET’; ‘CAOOAC’ là chuỗi đối xứng‘ABCSDFDSSSS’ không phải là chuỗi đối xứng.Viết chương trình nhập vào một chuỗi ký tự cho trước S, có chiều dài N (1<=N<=20000) và cho biết chiều dài chuỗi con đối xứng dài nhất. chuỗi con của S là chuỗi gồm một số ký tự liên tiếp nhau trong S có độ dài nhỏ hơn hoặc bằng NDữ liệu vào cho trong tập tin văn bản CHUOI.INP gồm 2 dòng- Dòng đầu ghi giá trị n- Dòng sau gồn n ký tự liên tiếp nhau gồm các chữ cái in hoa (A Z)

Dữ liệu ra ghi vào tập tin văn bản CHUOI.OUT gồm một số duy nhấtlà độ dài chuỗi con đối xứng dài nhất.Ví dụ:

Page 9: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

CHUOI.INP CHUOI.OUT18IKACOBEGIGEBOCAHTM

13

Bài 43: SỐ PALINDROM Tên chương trình: PALINNUM.PAS

Số được gọi là Palindrom,nếu đọc từ trái sang phải hoặc từ phải sang trái đều được cùng một số. Ví dụ, số 75457 là số Palindrom.

Dĩ nhiên, một số có phải là Palindrom hay không còn phụ thuộc vào cơ số biểu diễn. Số 17 không phải là Palindrom ở cơ số 10, nhưng ở cơ số 2 thì là Palindrom ( 10001).

Hãy xác định xem số cho trước (ở hệ 10) có phải là Palindrom không và nếu có thì ở các cơ số nào. Xét cơ số trong phạm vi từ 2 đến 16.

Dữ liệu: Vào từ file văn bản PALINNUM.INP, mỗi dòng một số nguyên dương ở hệ 10. File dữ liệu kết thúc bằng dòng chứa một số 0.

Kết quả: Đưa ra file văn bản PALINNUM.OUT, mỗi dòng của file input ( trừ dòng cuối cùng) ứng với một dòng output, thông tin ra bắt đầu bằng thông báoYES hoặc NO, nếu là YES thì sau đó là các cơ số cần biểu diễn.

Ví dụ:PALINNUM.INP PALINNUM.OUT 17 19

YES 2 4 16 NO

0

Bài 44: Cho một chuỗi từ file String.Str có độ dài m <255 kí tự gồm có số và chữ (không có kí tự đặc biệt và khoảng trắng). Bạn tìm xem trong chuỗi có bao nhiêu chuỗi con là chuỗi số mà khi nó là số thì tổng lập phương từng kí tự số của nó bằng chính nó, ghi lại các chuỗi đó. Sau đó bạn hãy sắp xếp lại chuỗi đó sao cho các chuỗi số (chữ số) tăng giảm liên tục nghĩa là chuỗi số (hoặc chữ) sắp tăng nếu chuỗi số (chữ) trước nó sắp giảm và ngược lại. Tất cả ghi ra file String.OUTBộ Test

atddt153yy578gfy2431dggggg354t6154Có 1 chuỗi tổng lập phương là

153 = 1*1*1+5*5*5+3*3*3chuỗi mới là: addtt531yy57fgy4321gggggd345t654hoặc ttdda135yy75ygf1234dggggg543t456Bài 45: Viết chương trình cộng 2 số nguyên lớn có N chữ số(N>=20). Sau đó sử dụng chương trình này in ra màn hình số hạng thứ M của dãy fibonanci. Kết quả ghi ra file CongFi.OUT gồm 2 dòng: dòng 1 ghi tổng của 2 số nguyên lớn, dòng 2 ghi số hạng thứ M của dãy Fibonanci.Có kiểm tra dữ liệu vào.Ví dụ:congfi.inp congfi.out123456150

5799969216677189303386214405760200

Bài 46 Card mạng (3đ) Trung tâm máy tính NewAge dự trữ trong kho N card mạng được đánh số hiệu lần lượt từ 1 tới N (2 ≤ N ≤ 200). Định kỳ 6 tháng một lần, Trung tâm tiến hành việc kiểm định chất lượng để xác định card hỏng bằng cách thực hiện K phép thử. Mỗi phép thử được thực hiện trên một cặp card bất kỳ bằng cách lắp chúng với hai máy tính và thử xác lập quan hệ giữa hai máy đó. Nếu các máy liên lạc được với nhau có nghĩa cả hai card mạng chọn ra còn tốt, trong trường hợp ngược lại − một trong hai card hoặc cả hai đã bị hỏng. Tuy nhiên, nhân viên được giao thực hiện công việc này lại không phải là người thật chu đáo và cẩn thận. Do vậy, anh ta đã chọn các cặp card mạng để tiến hành K phép thử trên không theo một trình tự nào, thậm chí có thể có những card mạng được thử đi thử lại nhiều lần. Rất may là anh ta vẫn còn ghi lại kết quả cụ thể của từng phép

Page 10: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

thử. Yêu cầu: Theo kết quả của K phép kiểm tra (0 ≤ K ≤ 10 000) hãy cho biết tình trạng của các Card có thể xác định chính xác Dữ liệu: vào từ file văn bản NETCARD.INP: - Dòng đầu tiên chứa 2 số nguyên N K, - K dòng tiếp theo sau: trên mỗi dòng chứa 3 số nguyên I J V, trong đó I, J tương ứng l số hiệu hai card mạng được kiểm tra; V là kết quả kiểm tra: V = 1 khi hai card đều tốt, còn V = 0 trong trường hợp ngược lại. Kết quả: Đưa ra file văn bản NETCARD.OUT đưa ra N số nguyên Q1, Q2,.. .,QN, trong đó QI − xác định chất lượng của card mạng thứ I: QI=1 − tốt; QI=0 − hỏng; QI=2 − chưa r. Các số trong các file vào/ra được cách nhau ít nhất một dấu cách hoặc tổ hợp ký tự xuống dòng Baøi laøm löu vôùi teân NETCAR.PASVí dụ:

Bài 47 : Đặc trưng ảnh. (3đ).Một nhóm nghiên cứu đang giải quyết bài toán nhận dạng mặt người trong ảnh. Anh chụp mặt người

sau khi đã xử lý là một bảng vuông khích thước N x N (10 <= N <=100) với mỗi ô (I,j) (1<=I,j<=N) có giá trị từ 0 đến 255 là mức độ xám của ảnh chụp tại ô này ( trong đó 0 là mầu nền). Để xác địnhị trí có thể là mặt người, nhóm thống kê các đặc trưng có dạng hình vuông kích thước K x K (1<=K<=10) trong đó tất cả các giá trị trong hình vuông này phải khác 0.

Yêu cầu : Từ một hình chụp mặt người, hãy giúp nhóm nghiên cứu đếm tất cả các đặc trưng có trong hình đó.

Dữ liệu vào trong tập tin văn bản FEATURE.INP Trong đó :Dòng đầu chứa hai số nguyên N và K, mỗi số cách nhau một khoảng trắng.Dòng thứ I trong N dòng tiếp theo chứa tương ứng dòng thứ I của bảng A. kỗi số cách nhau

một khoảng trắng.Dữ liệu kết quả ghi trong tập tin văn bản có te7n FEATURE.OUT.là số đặc trưng tìm được.Bài làm lưu với tên FEATURE.PAS.Ví dụ :

FEATURE.INP FEATURE6 20 12 15 0 33 3017 19 23 15 16 011 12 0 14 14 00 10 11 8 10 00 8 7 12 0 00 0 11 13 0 0

7

Đề 47: Lập trình tìm tất cả các cách tay thế các dấu ? bởi các phép tính +, -, *, /, trong biểu thức dưới đây sao cho biểu thức có giá trị = 35.(((1 ? 2) ? 3) ? 4) ? 5) ? 6)Đề 48: Khi hỏi địa chỉ của một người bạn, người bạn nói: - Mình ở đường A, số nhà là một số có ba chữ số, mà hai chữ số đầu cũng như hai chữ số cuối lập thành cách số chính phương và số này gấp 4 lần số kia. Nhiệm vụ: Hãy lập trình tìm giúp số nhà của người bạn.Đề 49: Tìm một số chẵn lớn nhất có 5 chữ số mà ba chử số đầu (giữ nguyên giá trị từ trái sang phải) tạo thành một số chính phương và 3 chữ số cuối ( giữ nguyên thứ tự) tạo thành một lập phương đúng.Đề 50: Tìm một số có hai chữ số; biết rằng số đó chia hết cho 3 và nếu thêm số 0 vào giữa các chữ số rồi cộng vào số mới tạo thành một số bằng hai lần chữ số hàng trăm của nó thì được một số lớn gấp chín lần số phải tìm.

Page 11: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

BÀI TẬP 51: Đang đi dạo chơi trong thànhp phố, bốn học sinh nhận thấy một chiếc xe vi phạm luật giao thông. Không ai trong các em nhớ số hiệu ghi trên biển xe, nhưng vì tất cả các em đều là học sinh yêu toán nên mỗi em đã ghi nhớ được đặc tính của số hiệu ấy. Một em nhớ lại rằng số hiệu đó là AB tiếp theo là một số có bốn chữ số. Em thứ hai nhớ lại rằng hai chữ số đầu giống hệt nhau. Em thứ ba nhớ lại rằng hai chữ số cuối giống hệt nhau. Còn em thứ tư quả quyết rằng ta có bốn chữ số đó là một số chính phương. Căn cứ vào những bằng chứng ấy, hãy tìm ra số hiệu chiếc xe.Ví dụ: AB7744BÀI TẬP 52: Cho một số có bốn chữ số abcd. Biết rằng a, b, c, d theo thứ tự ấy là 4 số tự nhiên liên tiếp từ nhỏ đến lớn, cho biết bacd là một số chính phương. Tìm số abcd.

BÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r nào đó. Nếu số bị chia và số chia đều bớt đi một chữ số (bất kì) thì thương không đổi và số dư giảm bớt 200. tìm số đó.

BÀI TẬP 54: Tìm một số có ba chữ số sao cho tỷ số giữa số đó và tổng các chữ số của nó có giá trị lớn nhất.

BÀI TẬP 55: Có bốn học sinh nữ: Mỹ, Mận, Mai và Mơ đang ở trong căn phòng của ký túc xá. Một cô đang sửa áo, Một cô đang chải đầu, một cô đang viết thư, và một cô đang đọc sách. Biết thêm rằng:

1. Mỹ không sửa áo và không đọc sách.2. Mận không viết thư và không sửa áo3. Nếu Mỹ không viết thư thì Mơ không sửa áo4. Mai không đọc sách và không sửa áo5. Mơ không đọc sách và không viết thư. Hãy nói chính xác mỗi cô đang làm gì?

BÀI TẬP 56: Một lần Sherlock Holmes đến chơi nhà bác sĩ Watson. Họ ngồi trong một phòng khách cạnh một cửa sổ nhìn ra vườn. Từ ngoài vườn, vang lên tiếng cười đùa của một đám trẻ con.Anh được mấy cháu? Sherlock Holmes hỏi.Bác sĩ Watson: trong đám trẻ con này không phải chỉ có con nhà tôi mà có trẻ con của những bốn gia đình. Trẻ nhà tôi đông nhất. Trẻ con cậu em đông thứ nhì. Trẻ con nhà cọ em gái đông thứ ba, cuối cùng là trẻ con nhà ông chú ít nhất.Chúng quậy như vậy vì cả đám không đủ để chia thành hai nhóm, mỗi nhóm 9 người.Nếu nhân 4 số chỉ số trẻ con của các nhà thì được kết quả chính là số nhà của tôi mà anh đã biết. Sherlock Holmes là một thám tử tài ba, có khả năng suy diễn logic rất tốt nên sau vài phút suy nghĩ, ông bèn nói “Anh cho thiếu giả thiết nên không thể biết chính xác được số trẻ con của mỗi gia đình”Xin anh hãy cho biết thêm ông chú của anh có một con hay nhiều hơn?Bác sĩ Watson trả lời thêm (điều này chúng ta không biết)Sau đó Shelock Holmes đã nó chính xác số trẻ con của mỗi gia đình.Nhiệm vụ: Hãy lập trình cho biết là Sherlock Holmes trả lời như thế nào về:

Số nhà của bác sĩ Watson là số nào?Mỗi gia đình có mấy con?

Bài tập 57: Sau một thời gian dài xa cách, hai người bạn cũ gặp lại nhau. Một trong hai người đó thông báo là anh ta đã có 3 người con trai mà tích các tuổi của chúng bằng 36, còn tổng các tuổi bằng số cửa sổ của nhà cạnh chổ đang gặp nhau.Nghe xong, người thứ hai nói rằng anh ta không thể xác định được tuổi của chúng. Do đó người thứ nhất nói thêm rằng, đứa con trai đầu của anh ta có tóc màu hng đỏ.Sau đó người thứ hai lập tức đọc ngay số tuổi của đám trả con một cách chính xác. Nhiệm vụ: Lập trình cho biết tuổi của mỗi đứa con?

Bài tập 58: làm thế nào được đem 6 lít nước từ sông về nếu trong tay chỉ có hai cái thùng. Một thùng dung tích 4 lít, một thùng dung tích 9 lít và không thùng nào có vạch chứa dung tích?

Page 12: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài tập 59: Trong một can có 16 lít xăng. Làm thế nào để chia số xăng đó thành hai phần băng nhau, mỗi phần 8 lít nếu chỉ có thêm một can 11 lít và một can 6 lít để không?Bài 60: Cho hai dãy số

A1, A2, A3,…An

B1, B2, B3, …Bn

Nhiệm vụ: Hãy viết chương trình tìm ra một dãy con chung liên tục có độ dài lớn nhất của hai dãy trên.Dữ liệu vào cho trong file DAYSO.INP gồm 3 dòng

Dòng 1: ghi số nDòng 2: ghi các giá trị của dãy aDòng 3 ghi các giá trị của dãy b

Dữ liệu ra: xuất ra file DAYSO.OUT gồm 2 dòngDòng 1: ghi chiều dai của dãy con chung liên tụcDòng 2: ghi các phần tử trùng của hai dãy

Ví dụ:DAYSO.INP DAYSO.OUT82 0 4 9 7 8 6 50 1 4 9 7 5 6 5

34 9 7

Câu 61: Cho trước một xâu nhị phân có độ dài bất kì được đưa vào từ file văn bản INPUT.TXT. cần biến đổi xâu nhị phân này về dạng toàn số 0. các phép biến đổi chỉ có thể là một trong các loại sau:

Biến đổi xâu con 11 thành 00.Biến đổi xâu con 010 thành 000

Hãy chỉ ra một cách biến đổi xâu đã cho thành xâu toàn số 0. Kết quả thể hiện trong file OUTPUT.TXT như sau:Dòng đầu tiên chứa xâu ban đầu, sau đó mỗi dòng là một xâu tiếp theo sau một phép biến đổi, xâu cuối cùng là xâu toàn 0.Ví dụ:INPUT.TXT OUTPUT.TXT11001010110010 11001010110010

0000101011001000001010000010000000100000100000000000001000000000000000

Bài 62: Hy xy dựng một dy gồm N ký hiệu từ một bảng K kí hiệu sao cho khơng cĩ hai dy con lin tiếp no giống

nhau. Chẳng hạn với ba ký kiệu 1, 2, 3. Hy xy dựng một dy cĩ độ di N thỏa mn tính chất trn.

Ví dụ: N=5 thì dy 12312 l dy chấp nhận được, cịn cc dy 12323 v 12123 l khơng chấp nhận được.

Ví dụ:

STRING.INP STRING.OUT5 12312

Bài 63: DãY TUẦN HỒN

Tên file văn bản bi lm tn TUANHOAN.PAS

Tn file chứa dữ liệu vo TUANHOAN.INP

Tn file chứa dữ liệu ra TUANHOAN.OUT

Cho dy số tuần hịan 1,2, …, 9, 1,2, …., 9, 1,2, …, 9, …. Một tam giác được thiết lập từ dy tuần hịan đ cho bắt

đầu từ s với số dịng r cĩ dạng như sau:

(với s=2, r=6)

Page 13: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

2 3 5 8 3 8 5 2 7 2 5 7

4 6 9 4 9 6 3 8 3 6

7 1 5 1 7 4 9 4

2 6 2 8 5 1

7 3 9 6

4 1

Dữ liệu vo cho trong file TUANHOAN.INP gồm một dịng duy nhất chứa 2 số nguyn s v r nằm trn cng một dịng

cch nhau ít nhất 1 dấu cch

Dữ liệu ra ghi ra file TUANHOAN.OUT l một tam giác như yêu cầu đề bi

Ví dụ

TUANHOAN.INP TUANHOAN.OUT2 6 2 3 5 8 3 8 5 2 7 2 5 7

4 6 9 4 9 6 3 8 3 6

7 1 5 1 7 4 9 4

2 6 2 8 5 1

7 3 9 6

4 1

KIỂM TRA 9.2.2006Bài toán 64: người máy thu gôm mẫu vậtNgười máy di chuyển trên nền mặt phẳng chia thành lưới ô vuông n*n, lưới ô vuông này bao gồm các số 0 và 1 (số 0 là không có mẫu vật, số 1 là có mẫu vật). Gốc tọa độ đặt tại A(0,0), người máy xuất phát từ một điểm (x0,y0), người máy di chuyển theo một chương trình lập sẵn, trong quá trình di chuyển người máy có thể thu gom những mẫu vật nằm trên đường đi và tại vị trí nó đang đứng.Chương trình lập sẵn cho người máy là một xâu kí tự bao gồm một dãy các lệnh dạng Cm, trong đó C là một trong 4 chữ cái:

Rm: di chuyển sang phải m ô.Lm: di chuyển sang trái m ô.Dm: di chuyển xuống dưới m ô.Um: di chuyển lên trên m ô.

Ta qui ước nếu m=0 thì đoạn lệnh tương ứng đặt trước m được bỏ qua.Yêu cầu: xác định điểm kết thúc (X1,Y1) của người máy sau khi hoàn thành chu trình di chuyển và số lượng mẫu vật thu gom được.Dữ liệu vào: cho trong file ROBOT.INP gồm:

Dòng thứ nhất chứa số nM dòng tiếp theo là mảng vuông n*n

Dòng thứ m+1 là toạ độ xuất phát (X0,Y0)Dòng m+2 là xâu kí tự thể hiện quá trình di chuyển của người máy.Dữ liệu ra: ghi trong file ROBOT.OUT gồm: 2 dòng

Dòng 1: ghi toạ độ lúc người máy kết thúc quá trình di chuyển.Dòng 2: ghi số lượng mẫu vật mà người máy thu gom được.

Bài 68: Định lý 6174Dãy 6174 được tạo theo cách sau: số hạng đầu tiên của dãy là số nguyên dương n 1 gồm 4 chữ số (bốn chữ số của số hạng đầu tiên này không đồng thời bằng nhau). Hai số mới a1 và b1 được tạo thành từ số đầu tiên của dãy. Số thứ nhất a1 có được bằng cách sắp xếp các chữ số của n1 theo thứ tự giảm dần và Số thứ hai b1 có được bằng cách sắp xếp các chữ số của n1 theo thứ tự tăng dần. số thứ nhì n2 của dãy là hiệu a1-b1. Tiếp tục

Với 0 =< m < 10

51 0 1 0 00 1 1 1 11 0 1 1 00 1 0 0 11 1 0 0 02 2R3D1L3U1

(2,2)6

Page 14: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

hai số a2 và b2 được tạo thành từ n2 tương tự như a1 và b1 và số hạng n3 của dãy 6174 là hiệu a2-b2 và cứ thế tiếp tục. dạy số kết thúc khi các số hạng của dãy bắt đầu lặp lại (nghĩa là các phần tử của dãy đôi một khác nhau). Chữ số 0 ở đầu số (vị trí thứ nhất tính từ bên trái) vẫn có nghĩa.Định lý 6174 phát biểu rằng số hạng cuối của dãy xây dựng như trên luôn là số 6174, chẳng hạn, xét dạy mà số hạng đầu tiên n1 là 7815, ta có:

8751 – 1578 = 71737731 – 1377 = 63546543 – 3456 = 30878730 – 0378 = 83528532 – 2358 = 6174

Bài toán: Cho trước số hạng đầu tiên của dãy 6174. cho biết chỉ số của số hạng cuối cùng (là số hạng 6174) của dãy.DL6174.INP DL6174.OUT

7815 6Bài 69: Bài tóan diện tíchCho một bảng hình chữ nhật kích thước M x N, gồm MxN hình vuông đơn vị (hình vuông đơn vị là hình vuông có cạnh là 1 đơn vị). trên mỗi hình vuông đơn vị có một chữ cái trong bảng chữ cái tiếng anh viết hoaBài tóan: Tìm diện tích hình chữ nhật lớn nhất trong bảng chữ nhật nói trên mà tất cả các chữ cái trong hình vuông đơn vị là đôi một khác nhau.

DIENTICH.INP DIENTICH.OUT4 4AECGFFJHFFFFABCD

6

Bài 70: Trộn mảngCho hai mảng số nguyên A và B lần lượt có N và M phần tử (0< N,M<=50000) các phần tử của hai mảng số nguyên đều được sắp theo thứ tự không giảmYêu cầu: hãy tạo mảng C gồm N+M phần tử từ các phần tử của hai mảng A và B sao cho các phần tử trong mảng C cũng có thứ tự tăng dần. (không dùng phương pháp sắp xếp nào)Ví du:

A.inp B.inp C.out3125

224

1 2 2 4 5

Bài 71: Đọan con dài nhất:Cho chuỗi ký tự S gồm tòan chữ cái in hoa (A..Z) với độ dài không vượt quá 255. hãy tìm đọan con các ký tự liên tiếp nhau dài nhất sao cho không có ký tự nào xuất hiện nhiều hơn một lần. trong trường hợp có nhiều hơn một đọan con có cùng chiều dài dài nhất, hãy chỉ ra đọan xuất hiện đầu tiên trong chuỗi S.Dữ liệu vào cho trong file SUBSTR.INP gồm 1 dòng duy nhất chứa chuỗi SDữ liệu ra ghi ra file SUBSTR.OUT chứa 2 số nguyên P và L tương ứng là vị trí đầu và chiều dài của đọan con dài nhất tìm được, kí tự đầu tiên trong chuỗi S có vị trí là 1.Ví dụ:SUBSTR.inp SUBSTR.OUTABABCDAC 3 4

Bài 72: Cho ma trận A = (aij) kích thước N x M, trong đó aij là các số 0 hoặc 1, hãy lập ma trận cùng kích thước B = (bij) ở đây bij = diện tích miền chữ nhật lớn nhất trong A, chứa phần tử aij và cùng giá trí với aij.Ví dụ với ma trận A

0 1 1 0 1 10 0 1 1 1 00 0 0 1 1 0

Ma trận B3 2 2 1 3 24 4 3 4 4 24 4 3 4 4 2

Page 15: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài 73: Cho một lưới ô vuông đơn vị, kích thước M x N, mỗi ô chứa số 0 hoặc số 1. Hãy cho biết lưới có bao nhiêu hình vuông có diện tích khác nhau mà 4 đỉnh của mỗi hình vuông đều thuộc ô vuông chứa số 1.Ví dụ:

CT1_11.INP CT1_11.OUT1 0 11 0 11 0 1

1

chương trình chỉ dùng phép đổi chỗ hai hòn bi khác màu ở hai vị trí khác nhau (Không dùng phép chèn) để xếp lại dãy các hòn bi sao cho đầu dãy là các hòn bi trắng, giữa là các hòn bi đỏ và cuối cùng là các hòn bi xanh. Chương trình dùng càng ít phép đổi chổ hai hòn bi càng tốt. Lưu bài làm với tên XB.PASInput: cho trong file XB.IN dòng đầu ghi số N (N<=10000), dòng sau lần lượt ghi N số thuộc tập {1,2,3} với qui định số 1 là hòn bi Trắng, 2 là hòn bi Đỏ, số 3 là hòn bi Xanh, các số cách nhau ít nhất 1 dấu cách.Output:xuất ra file XB.OUT:

Dòng đầu là phép đổi chổ hai hòn bi khác màuCác dòng sau mỗi dòng 50 số ghi các số dãy bi đã sắp xếp theo yêu cầu đề bài, các số cùng dòng ghi

liền nhau.Ví dụ:

XB.IN XB.OUT102 1 3 2 1 2 2 1 3 1

31111222233

Bài 74: Dãy số hạnh phúc:Tại vương quốc Ba Tư xa xưa, người ta thường tổ chức các cuộc thi tìm dãy số hạnh phúc: các chàng trai, cô gái thông minh trong thời gian ngắn nhất phải tìm ra được một dãy số hạnh phúc gồm nhiều phần tử nhất

Dãy số tự nhiên a1,a2,…ak được gọi là hạnh phúc nếu thoả mãn các điều kiện sau đây:- Dãy trên là dãy không tăng.- Với mọi i>1, ai hoặc là số nguyên tố hoặc phải là ước của một trong các số a1,a2,…,ai-1.

Nhiệm vụ: Em hãy lập trình để giúp các chàng trai, cô gái Ba Tư tìm ra dãy số hạnh phúc càng dài càng tốt, với số hạng đầu tiên là N.Dữ liệu vào cho trong file HAPPY.INP gồm một dòng duy nhất chứa số nguyên dương NDữ liệu ra ghi ra file HAPPY.OUT là dãy số hạnh phúc các số cách nhau 1 khoảng trắng.Chú ý: Lưu bài bàm với tên HAPPY.PAS, kiểm tra dữ liệu vào.Ví dụ:

HAPPY.INP HAPPY.OUT8 8 5 3 2 1

Bài 75: Tìm tất cả các tập con có tổng bằng M cho trước. ví dụ:TONGM.INP TONGM.OUT104 5 7 8 0 2 3 4 7 5

4 0 2 44 2 45 0 2 3 5 0 55 2 35 57 0 37 38 0 28 20 2 3 50 3 72 3 53 7

Bài 76: Một chuỗi con S1 có độ dài K được gọi là chuỗi con thực sự của S nếu: Nó gồm K kí tự và được lập nên từ các kí tự của chuỗi S bằng cách rút bỏ tất cả các kí tự giống nhau trong chuỗi và không thêm một số kí tự

Page 16: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

nào khác, Trong S1 các kí tự tuân theo trật tự đã có trong S. Yêu cầu: Hãy viết chương trình tìm chuỗi con thực sự độ dài K của chuỗi S cho trước.Ví dụ:

STRINGREAL.INP STRINGREAL.OUTK = 2HOC SINH NAM TRUONG TRUNG HOC

SI, SA, SM, IA, IM, AM

Bài 77: Tìm tất cả các dãy con tăng, kể cả dãy con không liên lục.Ví dụ:DAYCON.INP DAYCON.OUTN=54 5 6 1 2

44 54 5 655 6621

Bài 78: Cho một xâu gồm n cặp kí tự, mỗi cặp có kí tự ‘A’ và kí tự ‘B’. các cặp kí tự đặt trong xâu theo qui tắc lồng vào nhau hoặc rời nhau, không có trường hợp 2 cặp kí tự giao nhau, trong mỗi cặp, kí tự ‘A’ luôn đặt bên phải kí tự ‘B’. ví dụ: A A B B hoặc A B A B. Người ta ghi nhận thông tin của xâu bằng cách ghi số kí tự nằm trong các cặp theo thứ tự từ trái qua phả.

Ví dụ: Xâu có 6 câp kí tự ABA A A B A A B A B B B B ta có dãy số sau: 10 8 0 4 0 0

Lần lượt từ trái qua phải: có 10 kí tự nằm trong cặp thứ nhất, 8 kí tự trong cặp 2, 0 kí tự trong cặp 3, 4 kí tự trong cặp 4, 0 kí tự trong cặp 5 và 0 kí tự trong cặp 6.Yêu cầu: Từ dãy số ghi số kí tự nằm trong các cặp kí tự hãy phục hồi lại xâu kí tự đó.

CAP.INP CAP.OUT610 8 0 4 0 0

AAABAABABBBB

BÀI 79: NgườI ta xây dựng một số A gồm vô hạn chữ số chỉ gồm các chữ số 0,1,2 qua một số bứơc như sau:Bước 0: gán cho chữ số đầu tiên của A là a1 = 0;Bước k + 1: Giả sử bước k có hình thành được m số hạng đầu của A là a1, a2, …,am thì tạI bước k +1 có

hai m số hạng đầu của A là a1,a2,…,am, b1,b2,…,bm mà vớI 1<= I <= m thì bi=(ai+1) mod 3Như vậy các giai đoạn đầu hình thành của dãy A như sau:0 ----- 01-----0112 ------01121220 ----- 0112122012202001 -------…..

Yêu cầu in ra chữ số thứ N của AVí dụ: N=4 thì an = 2; N=8 thì an = 0;Bài 80:Cho hai số nguyên dương N và K. có bao nhiêu số nguyên dương không vượt quá N mà tổng các chữ số của nó chia hết cho K?Dữ liệu vào cho trong file COUNT.IN gồm nhiều dòng, mỗi dòng ghi 2 số nguyên N và KDữ liệu ra ghi ra file COUNT.OU gồm nhiều dòng mỗi dòng là kết quả của một bộ test trong file INVí dụ:COUNT.IN COUNT.OU100 322 4

335

Bài 81:Cho dãy N số nguyên (3<= N <=100). Tìm 3 số hạng của dãy có tích lớn nhất và trong 3 số hạng đó có ít nhất một số nguyên tố hoặc một số chính phương.Ví dụ:BASO.INP BASO.OUT93 5 1 7 9 0 9 3 10

9 9 10

Page 17: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài 82 : cho một dãy n (n<=20) số nguyên dương a1, a2,…, an trên dãy ta có thể thực hiện phép biến đổi như sau: với hai số kề nhau ta có thể thay số lớn bằng hiệu số lớn và số kia.Hãy tìm cách đưa dãy trên về các số bằng nhau bằng các luật biến đổi trên với số lần biến đổi ít nhất (nếu có nhiều cách chỉ cần chỉ ra một cách).Ví dụ :BIENDOI.INP BIENDOI.OUT49 6 15 12

69 6 3 123 6 3 123 3 3 123 3 3 93 3 3 63 3 3 3

Bài 83 : Đếm số ô vuông trên lưới.Cho một lưới ô vuông đơn vị, kích thước m x n, mỗi ô chứa số 0 hoặc 1. hãy cho biết lưới có bao nhiêu hình vuông có diện tích khác nhau mà 4 đỉnh của mỗi hình vuông đều thuộc ô vuông chứa số 1.Ví dụ :Ct1_11.inp Ct1_11.out3 3 1 0 11 0 11 0 1

1

Bài 84 : Viết chương trình nhập vào biểu thức có nhiều phân số với các phép tóan (+,-,*,/), việc nhập sẽ kết thúc khi nhập dấu « = » và đưa kết quả ra màn hình.Ví vụ :

kết quả in ra màn hình

Bài 85: Với hai chữ số X và Y, khoảng cách giữa chúng được định nghĩa là một số nguyên không âm nhỏ nhất d(X,Y) mà khi cộng thêm d(X,Y) vào một chữ số nào đó trong hai chữ số X,Y thì kết quả nhân được là một số nguyên có chữ số hàng đơn vị trùng với chữ số còn lại. Ví dụ: d(2,5) = 3 vì 2 + 3 = 5; d(5,1) = 4 vì 1 + 4 = 5; d(1,9) = 2 vì 9 + 2 = 11Với hai số nguyên dương A và B có cùng số lượng chữ số, khoàng cách d(A,B) giữa hai số A và B là tổng khoảng cách của các cặp chữ số cùng hàng tương tương. Ví dụ: d(213,419)=d(2,4) + d(1,1) + d(3,9) = 2 + 0 + 4 = 6.Bài toán: Cho hai số X, Y có cùng số lượng chữ số N (0 < N < 100). Hãy tìm khoảng cách d(X,Y)

KHOANGCACH.INP KHOANGCACH.OUT213419

6

Bài 86: Cho hai số nguyên dương A và B (a < A,B <10100). Yêu cầu: hãy so sánh giá trị của hai số. Kết quả xuất ra file gồm 1 dòng: -1 nếu A<B; 0 nếu A = B; 1 nếu A> B

SO.INP SO.OUT1234567890000000112345678900000000

1

Bài 87: Viết chương trình thực hiện nhiều lần nhập mộ số nguyên N (100<N< 2 tỷ)a. Nhập số nguyên k (1<K<17). Chuyển N sang hệ Kb. Xuất số lớn thứ nhì có chứa đúng các chữ số của Nc. Xuất các chữ số trùng nhau và vị trí trùng thuộc hàng nào trong số Nd. Nhập K (0<=K<=9). Tìm R; sao cho R lớn nhất; và trong R có Ke. Tìm M lớn nhất sao cho 5M <=NBài 88: Viết chương trình nhập vào 6 số nguyên dương a,b,c,d,e,f. hãy xuất biểu thức a?b?c?d?e = f với ? thuộc {+;-;*;/} (chỉ cần một biểu thức thoả}Bài 89: Ta coi chuỗi thông tin cần mã hoá là một chuỗi kí tự ‘A’ … ‘Z’ và khoảng trắng. Mã hoá Ceasar khoá K là chuyển các kí tự từ ‘A’… ‘Z’ trong chuỗi đi K kí tự. Viết chương trình nhập vào một chuỗi kí tự có chiều dài N

Page 18: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

(N<=255). Nhập vào một số nguyên K (1<K<26). Chương trình sẽ xuất ra chuỗi đã được mã hoá. Sau đó tiến hành giải mã đưa kết quả ra màn hình. (Mở rộng bài toán N<1000)Bài 90: Cho ma trận vuông cấp NxN chứa các số tự nhiên trong khoảng 0..255, 1<=N<=100. hãy kiểm tra một ma trận vuông có kích thước KxK ( K<N) theo nghĩa các phần tử đối xứng nhau qua đường chéo chính của ma trận cấp KxK thì bằng nhau.MATSYM.INP MATSYM.OUTN= 4, K = 37 6 8 91 2 3 02 4 5 73 5 6 9

1

Bài 91: Cho trước dãy số, hãy tìm một dãy con liền nhau cực đại có các phần tử bằng nhau.Dữ liệu: cho trong file DAYSO.INP gồm 2 dòng

Dòng 1: ghi số N là số lượng phần tử của dãyDòng 2: ghi N số nguyên, mỗi số ghi cách nhau một khoảng trắng.

Dữ liệu ra cho trong DAYSO.OUT gồm một số nguyên duy nhất là chiều dài dãy con.Bài 92: Em hãy viết chương trình kiểm chứng giả thuyết sau với n chẵn <1000: mọi số tự nhiên chẵn đều có thể biểu diễn thành tổng của hai số nguyên tố. Kết quả xuất ra màn hình;Bài 93: Em hãy viết chương trình kiểm chứng giả thuyết sau với n chẵn <1000: mọi số tự nhiên chẵn đều có thể biểu diễn thành tổng của các số Fibonaci khác nhau. Kết quả xuất ra màn hình.Bài 94: Xét bảng số nguyên dương A kích thước N x N (N<=40), A[I,j]<=100. Thay mỗi phần tử A[I,j] của bảng bằng giá trị f(A[I,j]), trong đó y=f(x) là hàm cho số lượng lớn nhất các số nguyên tố có tổng bằng x, mỗi số sử dụng một lần, trừ một số nguyên tố nào đó có thể sử dụng đúng 2 lần nếu cần.Ví dụ: x=5 f(x) = 2 vì 5 = 3 + 2

X=7 f(x)=3 vì 7 = 3 +2 +21 không phải là số nguyên tố. Qui ước f(1)=1ví dụ:

Bộ Test1 Bộ Test 2INP.BL3 INB.OUT INP.BL3 INB.OUT51 2 44 11 1434 16 9 19 225 24 4 43 315 46 19 39 1735 43 36 16 9

1 1 7 3 46 4 3 5 52 5 2 7 14 7 5 6 46 7 6 4 3

41 2 44 1114 34 16 919 22 5 244 43 3 15

1 1 7 34 6 4 35 5 2 52 7 1 4

Bài 95 (Mảng 2 chiều): Cho một bảng vuông các số nguyên kích thước N x N (2 < N < 100) mà mỗi phần tử là một số nguyên chỉ mang một trong các giá trị sau: 0 hoặc 2 hoặc 5 hoặc 17 yêu cầu: hãy tính số lượng các bảng vuông con cấp 2 x 2 của bảng đã cho mà các phần tử của nó chứa các số 0, 2, 5, 17

Nhập vào In ra màn hình50 5 5 0 1717 2 0 5 52 2 2 2 2 20 5 17 0 50 2 0 0 5

2

Bài 96: Cho hai dãy số nguyên dương a1,a2,…,an và b1,b2,…,bm sao cho:a1+ a2, +… + an = b1 + b2 + … + bm

Hãy lập một bảng số a[1..n,1..m] gồm các số nguyên dương thoả mãn:- Tổng các số hàng i = ai

- Tổng các cố cột j bằng bj

Làm bài lưu với tên BUILT.PASDữ liệu vào cho trong file BUILT.INP gồm 3 dòng

Dòng đầu ghi 2 số nguyên dương N và M

Page 19: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Dòng thứ 2 ghi N số nguyên dương là phần tử ai

Dòng thứ 3 ghi M số nguyên dương là phần tử bi

Dữ liệu ra ghi file MANG.OUT là kết quả thoả mãn yêu cầu đều bài. Mỗi số cách nhau ít nhất một dấu cách.Ví dụ:

MANG.INP MANG.OUT MANG.INP MANG.OUT5 51 2 3 4 55 4 3 2 1

1 0 0 0 02 0 0 0 02 1 0 0 00 3 1 0 00 0 2 2 1

5 415 0 0 0 00 7 0 8

0 7 0 80 0 0 00 0 0 00 0 0 00 0 0 0

Bài 97: Cặp số bạn bè cùng nhóm:Cặp số (a,b) được gọi là cặp số bạn bè cùng nhóm nếu nó cùng thỏa các tính chất sau đây:

- a, b là hai số nguyên tố cùng nhau.

- Số đảo của số a là số b và ngược lại.

- Số a và b là các số có thể gồm từ 2 đến k chữ số (1<=k<=4) và được tạo thành từ n (4<=n<=9) các chữ số của hệ thập phân cho trước khác nhau.

Dữ liệu vào cho trong file nhomnk.inp gồm:- Dòng 1: ghi số n và k

- Dòng 2 chứa n chữ số thập phân cho trước.

Dữ liệu ra: ghi ra file capban.out gồm:- Từ dòng thứ nhất và các dòng kế tiếp: liệt kê các cặp số đôi bạn

- Dòng cuối: ghi tổng số.

Ví dụ:Nhomnk.inp Capban.out4 24 6 5 3

34 4335 5356 653

Bài 98: Các hoán vị cả N chữ cái đầu tiên trong bảng tiếng anh viết thường a..z được sắp theo thứ tự từ điển. cho trước hoán vị H trong dãy trên. Tìm hoán vị P đứng sát trước hoán vị H.Ví dụ:Preper.inp Preper.out3acbbacdabcd

abcadcb0

Bài 99: cho trước một xâu nhị phân có độ dài bất kỳ được đưa vào từ file văn bản. cần biến đổi xâu này về dạng toàn số 0. phép biến đổi chỉ có thể 1 trong các loại sau:

Biến đổi xâu con 11 thành 00Biến đổi xâu con 010 thành 000

Hãy chỉ ra một cách biến đổi xâu đã cho thành xâu toàn số 00Bài 100: Cho một xâu văn bản gồn n dòng (n<500), mỗi dòng chứa không quá 255 kí tự. Ta gọi tần số của một kí tự trong văn bản là số lần xuất hiện của kí tự đó trong văn bảnYêu cầu: tìm tần số lớn nhất trong các tần số của các chữ cái (không phân biệt chữ hoa chữ thường)Tanso.inp Tanso.out5aaaaag3475949AAAAAA&()()#$%#@@#hfhkkljklklaaaaa08343AAAAAjjojAAAAa

40

Page 20: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

hjgjhggjaaaaaj 97|+|aaaAAijlofj 05885-8-12112\=-09988876655 btreiAAAAAUHHI() (&()Bài 101: Cho dãy con gồm N phần tử. Hãy in ra tất cả các dãy con tăng dần (kể cả các dãy con không liên tục).Ví dụ:Daycon.inp Daycon.out61 2 0 3 7 2

1 1 2 1 2 3 1 2 3 7 1 2 7 1 3 1 3 7 1 7 1 2 2 2 3 2 3 7 2 7 0 0 3 0 3 7 0 7 0 2 3 3 7 7 2

Bài 102: Tương tự bài 4, nhưng in ra các dãy con có tổng bằng b cho trước.Ví dụ:Dcon.inp Dcon.out61 2 0 3 7 2

1 2 0 71 2 71 0 7 21 7 20 3 73 7

Bài 103: Hãy lập trình tìm tất cả các số nguyên X thỏa điều kiện sau đây (10 <=X <=65536) thỏa mãn:- X là số nguyên tố- X là số Fibonanci- Có ít nhất một số nguyên tố được tạo ra khi thay đổi vị trí các chữ số của X

Ngto.out89233159728657

Bài 102: cho số tự nhiên n. tìm tất cả các cách phân tích n thành tổng của lớn hơn hoặc bằng 2 số tự nhiên liên tiếp (hoặc đưa ra lời phủ định).Lientiep.inp Lientiep.out15 7 + 8

------------------------------

Page 21: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

4 + 5 + 6------------------------------1 + 2 + 3 + 4 + 5------------------------------0 + 1 + 2 + 3 + 4 + 5------------------------------

Bài 105:Cho một chuỗi từ file in2.olp có độ dài m<255 kí tự số và chuỗi (không có ký tự đặc biệt và khỏang trắng). bạn tìm xem trong đó có bao nhiêu chuổi con là chuỗi số hoặc chuỗi chữ là đối xứng, ghi lại các chuỗi đó. Sau đó bạn hãy sắp lại chuỗi đã cho sao cho các chuỗi số tăng dần và các chuỗi chữ giảm dần tất cả ghi vào file out2.olp.Biết rằng chuỗi số con là tất cả các kí số liên tiếp, chuỗi chữ con là tất cả các kí tự liên tiếp.Ví dụ:

df443gfg234432jgudit7e7733có 4 chuỗi con đối xứng: gfg, 234432, 7, e (ghi tuần tự 4 chuỗi cũng được).Chuỗi mới:

fd344ggf223344utjigd7e377Bài 108: Một file văn bản có n dòng ( 3<=n<=30000), mỗi dòng là một chuỗi S có tối đa 255 kí tự, các kí tự S[i] thuộc [‘a’… ‘z’] với 1 < =I <= length(S). trong đó, chỉ có một chuỗi S có số lần xuất hiện là một số lẻ, các chuỗi khác có số lần xuất hiện là chẵn.

Yêu cầu: Hãy tìm chuỗi S (có số lần xuất hiện là một số lẻ) đó.CHUOIKT.INP CHUOIKT.OUT

N = 7abcdefbbbccolympicabcdefbbbccabcdefabcdef

olympic

Bài 109: Khi viết các số tự nhiên tăng dần từ 1,2,3…n ta nhận được một dãy các số thập phân vô hạn. Hãy tìm chữ số thứ n của dãy trên.

Dữ liệu vào cho trong file NUMBER.INP gồm một số dòng, mỗi dòng ghi một số nguyên n<109

Dữ liệu ra xuất ra file NUMBER.OUT với mỗi số n đọc được ghi trên một dòng tương ứng chữ số thứ n của dãy.

Ví dụ:

NUMBER.INP NUMBER.OUT

5

10

54

5

1

3

BÀI 110 : BÀI TOÁN MA TRẬN

Người ta tạo một ma trận số nguyên 3 x 3 ( bảng số gồm 3 dòng và 3 cột), sau đó sắp xếp lại ma trận theo một số phép biến đổi ma trận cho trước.

Các số hạng của ma trận hình thành từ trái sang phải, từ trên xuống dưới lần lượt từ số các số 1, 2, 3, 4, 5, 6, 7, 8, 9 xuất hiện trong dãy số un cho trước (xem ví dụ).

Các phép biến đổi ma trận qui ước như sau:

Page 22: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Phép biến đổi 1 : Thay các số hạng của hàng 2 bằng số hạng của hàng 2 cộng 2 lần số hạng cùng cột của hàng 1

Phép biến đổi 2 : Thay các số hạng của hàng 3 bằng số hạng của hàng 3 cộng 2 lần số hạng cùng cột của hàng 2

Phép biến đổi 3 : Thay các số hạng của cột 2 bằng số hạng của cột 2 cộng 2 lần số hạng cùng hàng của cột 1

Phép biến đổi 4 : Thay các số hạng của cột 3 bằng số hạng của cột 3 cộng 2 lần số hạng cùng hàng của cột

Ví dụ : Xem ma trận ở giữa và các phép biến đổi ma trận tương ứng:

Hãy lập trình để tạo ma trận ban đầu và tìm ma trận kết quả cuối cùng sau khi thực hiện lần lượt các phép biến đổi. Phép biến đổi sau thực hiện trên ma trận kết quả của phép biến đổi trước đó.

Dữ liệu vào :

Dữ liệu vào được lưu trên tập tin văn bản MATRIX.IN (hoặc nhập từ bàn phím) gồm hai dòng :

- Dòng đầu tiên ghi một số con số 1, 2, 3, 4 cách nhau một khoảng trắng. Mỗi số tương ứng một phép biến đổi ma trận;

- Dòng tiếp theo ghi các số hạng của một dãy số un gồm nhiều số 1,2,3,4,5,6,7,8,9 ( không quá 1000 số ) cách nhau một khoảng trắng.

Dữ liệu ra:

Dữ liệu ra được lưu trên tập tin MATRIX.OUT (hoặc xuất ra màn hình) gồm 6 dòng ghi các số hạng của ma trận 3 x 3 ban đầu sau khi hình thành theo qui tắc trên và ma trận kết quả sau khi lần lượt duyệt qua hết tất cả các phép biến đổi ma trận .

Ví dụ: MATRIX.IN ( hoặc nhập từ bàn phím)

1 2 4 3 1

9 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 4 4 4 4 4 6 6 6 6 6 6 6 5 5 5 5 5 5 3 3 3 3 2 2 2 1 1

( trong dãy này có 2 số 1; 3 số 2; 4 số 3; 5 số 4; 6 số 5; 7 số 6; 8 số 7; 9 số 8; 1 số 9 )

2 3 45 6 78 9 1

Kết quả MATRIX.OUT ( hoặc xuất ra màn hình )

2 7 10

13 44 5926 85 97

1 2 34 5 615 18 21

1 4 34 13 67 22 9

1 2 36 9 127 8 9

1 2 74 5 167 8 25

1 2 34 5 67 8 9

P1P2

P3P4

Page 23: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài 111 : Dãy tăng giảm tuần hoàn

Cho trước một dãy số nguyên không âm (an). ( ai <1000 với mọi i, 1£ i£ n <1000)

Dãy (an) gọi là một dãy tăng giảm tuần hoàn nếu tồn tại số k dương ( k < n ) sao cho bắt đầu từ số hạng đầu tiên đến số hạng cuối cùng cứ k-1 lần tăng ( giảm) dần thì tiếp theo có k-1 lần giảm (tăng) dần . . ., ít nhất có một dãy con tăng và một dãy con giảm, dãy con tăng (giảm) cuối cùng không nhất thiết kéo dài tới k-1 lần.

Ví dụ các dãy tăng giảm tuần hoàn :

1 2 3 4 7 4 3 2 1 5 6 7 8 4 3 2 1 4 9

1 2 3 9 3

các dãy không tăng giảm tuần hoàn :

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 9 8 7 6 9

Lưu ý : tăng, giảm tuyệt đối ( không bằng)

Nhiệm vụ

Hãy lập trình để nhận biết dãy số cho có phải là tăng giảm tuần hoàn (TRUE) hay không (FALSE) ?

Dữ liệu vào

Dữ liệu vào được ghi trên tập tin v¨n b¶n DAY.INP . Các phần tử của dãy cách nhau một khoảng trắng hoặc kí tự xuống dòng.

Dữ liệu ra

Dữ liệu ra được ghi trên tập tin DAY.OUT gồm 2 dòng :

- Dòng đầu ghi TRUE hoặc FALSE

- Dòng thứ hai ghi số nguyên k cho trường hợp TRUE và 0 cho trường hợp FALSE.

Ví dụ

DAY.INP

1 2 3 4 7 4 3 2 1 5 6 7 8 4 3 2 1 4 9

DAY.OUT

TRUE

5

Bài 112: Viết chương trình tạo một dòng chữ cuộn ngang từ phải qua trái màn hình giống như một Screen Saver trong Windows (tương tự làm cho chữ chạy từ trái qua phải; chạy theo hướng bất kỳ).Chú ý: Làm bài lưu với tên SCROLL.PAS

Bài 113: Miền diện tích lớn nhấtTrong hình chữ nhật ABCD ở hình bên dưới, kẻ những đọan thằng ST và UV phân chia hình chữ nhật thành ba phần (ở đây S, T, U, V thuộc cạnh của tứ giác ABCD).Yêu cầu: Hãy viết chương trình để tính diện tích các hình tạo bởi tứ giác ABCD sau khi bị hai đọan ST và UV cắt.Dữ liệu: cho trong file AREA.INPDòng đầu tiên gồm số N – số bộ test

Page 24: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

N dòng sau ghi 16 số nguyên lần lựơt là tọa độ của các điểm A,B,C,D,S,T,U,V mỗi số viết cách nhau ít nhất một dấu cách.Kết quả: ghi ra file AREA.OUTTương ứng với mỗi bộ dữ liệu test trong file AREA.INP ghi ra 1 dòng: diện tích của mỗi miền tìm được trong bộ test đó(có thể có 1 miền, 2 miền; 3 miền hoặc 4 miền), mỗi miền ghi diện tích chính xác tới 0.01; dãy giá trị diện tích ghi theo thứ tự không tăng; cuối file là giá trị lớn nhất tìm được trong N bộ test.

Chú ý: làm bài lưu với tên AREA.PASVí dụ:

AREA.INP AREA.OUT20 4 16 4 0 0 16 0 4 4 8 0 15 4 10 0-1 5 5 5 1 0 5 0 0 5 0 0 1 3 5 3

26.00 24.00 14.0015.00 10.00 3.00 2.0026.00

Bài 114: Hãy xây dựng dãy gồm N ký hiệu từ một bảng K ký hiệu sao cho không có hai dãy con nào liên tiếp giống nhau. Chẳng hạn với 3 kí hiệu 1,2,3 hãy xây dựng dãy có độ dài N thỏa mãn tính chất trên.Với N=5 thì dãy 12312 là chấp nhận được, còn các dãy 12323 và 12123 là không chấp nhận được.Ví dụ:

CHUOI.INP CHUOI.OUTN=10 1213123132N=20 12131231321231213123HD:

Độ dài L S1 S21 Copy(S,m-1,1) Copy(S,m,1)2 Copu(S,m-3,2) Copy(S,m-1,2)…L Copy(S,m-2*L+1,L) Copy(S,m-L+1,L)Bài 116: (Bảy hai không)Cho số nguyên dương N (0<=N<=500.000). Tìm số nguyên dương S nhỏ nhất thoả mãn tính chất sau đây:

a. S>=Nb. Trong biểu diễn cơ số 10, S không chứa các chử số khác ngoài 7,2,0 và không bắt đầu bằng 0.c. S chia hết cho N.

Dữ liệu vào cho trong file HK.INP gồm nhiều dòng mỗi dòng chứa 1 số nguyên dươngDữ liệu ra, ghi ra file HK.OUT mỗi dòng ghi một kết quả tìm được, nếu không có kết quả hoặc dữ liệu sai thì ghi -1.Chú ý: làm bài lưu với tên HK.PASVí dụ:

Bộ test Kết quả3-361

27-170272

Bài 117: Dãy nhị phân là dãy có các phần tử chỉ nhận giá trị 0 hoặc 1, số phần tử của dãy gọi là độ dài của dãy. Viết chương trình tìm các xâu nhị phân nhị phân có độ dài n (1<n<=10).Dữ liệu vào cho trong file xau01.inp chỉ có một dòng duy nhất ghi số nguyên n.

A S U B

D T V C

Page 25: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Dữ liệu ra: ghi ra file xau01.out gồm n dòng, mỗi dòng ghi một số nhị phân có độ dài n, và các số này được sắp xếp theo thứ tự tăng dần.Chú ý: làm bài lưu với tên XAU01.PASVí dụ:

XAU01.INP XAU01.OUT3 000

001010011100101110111

Bài 118: Người ta xây dựng một số A gồm vô hạn chữ số chỉ gồm các chữ số 0,1 và 2 qua một số bước như sau:Bước 0: Gán chữ số đầu tiên của A là a1=0;Bước k+1: Giả sử bước k đã hình thành được m số hạng đầu của A là a1,a2,…,am thì tại bước k + 1 có 2m số hạng đầu của A là a1,a2,…,am, b1,b2,…,bm mà với 1<=i<=m thì bi=(ai+1) mod 3 (dư của phép chia ai + 1 cho 3)

Như vậy các giai đoạn đầu hình thành A như sau:0 01 0112 01121220 0112122012202001 ….

Yêu cầu in ra chữ số thứ N của A (aN là chữ số nào?)Chú ý: làm bài lưu với tên SEQUENCY.PAS Dữ liệu vào cho trong file SEQUENCY.INP gồm nhiều dòng, mỗi dòng ghi một giá trị của NDữ liệu ra ghi ra file SEQUENCY.OUT gồm nhiều dòng, mỗi dòng ghi một giá trị aN tương ứng với giá trị N trong SEQUENCY.INPVí dụ:

SEQUENCY.INP SEQUENCY.OUT12161743100100030000000001000000000010000000000000002

0111012220

Bài 119: Cho dãy số N nguyên dương. Bằng cách biến đổi hai số có tính chẵn lẽ khác nhau, hãy sắp các số lẻ lên đầu dãy, số chẵn xuống cuối dãy bằng ít phép biến đổi nhất (không được dùng phép chèn, không được dùng cách sắp xếp)

Chú ý: làm bài lưu với tên CHANLE.PASDữ liệu vào cho trong file CHANLE.INP dòng đầu ghi số nguyên N (N<=10000) dòng sau lần lượt ghi N số nguyên dương các số cách nhau ít nhất 1 dấu cách.Dữ liệu ra ghi ra file CHANLE.OUT

- Dòng đầu là số phép biến đổi- Các dòng sau mỗi dòng ghi 50 số ghi các số thể hiện dãy đã được sắp theo yêu cầu đề bài, các số

cùng dòng ghi liền nhau.Ví dụ

CHANLE.INP CHANLE.OUT102 1 3 2 1 2 2 1 3 1

31133112222

Page 26: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài 120: Số chuẩnCho một số nguyên dương S ở hệ 10, có N chữ số ( N < 21). Số S được gọi là ở dạng chuẩn, nếu thoả mãn các điều kiện sau:

- Không chia hết cho3,- Không chia hết cho7,- Không chứa số 3 và số 7 trong dạng biểu diễn ở hệ 10,- Không chứa dãy liên tiếp 3 chữ số hoặc 7 chữ số giống nhau.

Ví dụ: Các số ở dạng chuẩn: 22, 190 Các số không ở dạng chuẩn: 31, 76, 12224, 411111110

Yêu cầu: Tìm 5 số chuẩn lớn nhất nhưng nhỏ hơn N cho trước. làm bài lưu với tên SOCHUAN.PAS.Dữ liệu vào cho trong file văn bản SOCHUAN.INP gồm một dòng duy nhất ghi số nguyên dương N.Kết quả: ghi ra file SOCHUAN.OUT gồm 1 dòng 5 số tìm được sắp xếp theo thứ tự không giảm. trường hợp nếu tìm không được ghi 0.Ví dụ

SOCHUAN.INP SOCHUAN.OUT200 188 190 191 194 199

Bài 121: Dịch chuyển trên mảng vòngCho dãy gồn N số nguyên từ 1 đến N. Tại thời điểm hiện tại, số i đứng tại vị trí thứ i của dãy. Sau mỗi một giây, mỗi số lại dịch chuyển sang vị trí tiếp theo (từ vị trí k tới vị trí k+1 nếu k<N, nếu k=N thì chuyển về vị trí 1). Tìm dãy sau T giâyChú ý: làm bài lưu với tên MOVE.PASDữ liệu cho trong file MOVE.INP gồm một dòng ghi 2 số nguyên dương N và T (1<=N<=100; 0<=T<=30000)Kết quả: ghi ra file MOVE.OUT các số của dãy sau T giây có thứ tự từ vì trí 1 đến vị trí NVí dụ:

MOVE.INP MOVE.OUT5 3 3 4 5 1 2

Bài 122: Mộ số được gọi là đối xứng nếu ta đọc từ trái sang phải cũng giống như đọc từ phải sang trái ví dụ: 1234321; 22222,33, 414, 6789876,4114 là những số đối xứng, còn 1234,4124 không phải là những số đối xứng. Một số có thể không đối xứng trong hệ 10 nhưng có thể là số đối xứng trong hệ k nào đó (1<k<11). Ví dụ số 17 không đối xứng trong hệ 10 nhưng khi chuyển 17 sang hệ 2, hệ 3 thì là số đối xứng vì 17 = (10001)2 và 17 = (101)4. Hãy viết chương nhập vào một số S <10000 và số n <100. Hãy tìm n số lớn hơn S đối xứng ít nhất trong 2 hệ.Dữ liệu vào cho trong file DOIXUNG.INP gồm 2 số S và N cách nhau 1 dấu cách. Dữ liệu ra ghi ra file DOIXUNG.OUT là các số thỏa điều kiện, mỗi số nằm trên một dòng. Số cuối cùng là tổng số các số nguyên tố trong N số thỏa điều kiện trên.Ví dụ:

DOIXUNG.INP DOIXUNG.OUT15 2 16

171

Bài 123: Lập ma phươngCho trước số nguyên dương N (N lẻ). Hãy lập ma phương với N lẻ gồm các số nguyên từ 1 đến N*NVí dụ:

MPHUONG.INP MPHUONG.OUT3 4 9 2

3 5 78 1 6

Bài 124: Số Py-ta-go bậc 3Bộ 3 số nguyên dương (x,y,z) có tính chất x2 + y2 = z2 gọi là bộ các số Py-ta-go một học sinh đề xuất việc tìm bộ 4 số nguyên dương (x,y,z,t) có tính chất x3 + y3 + z3 = t3 và gọi chúng là các số Py-ta-go bậc 3. ví dụ bộ 4 số (3,4,5,6) là một bộ thoả mãn tính chất trênYêu cầu cho trước số nguyên dương t (t<100), hãy xác định xem có thể tìm được 3 số nguyên dương x,y,z sao cho (x,y,z,t) là các số Py-ta-go bậc 3 hay không. Nếu có thì chỉ ra 3 số x,y,z đó.

Page 27: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Chú ý: làm bài lưu với tên PYTHA.PASDữ liệu cho trong file PYTHA.INP có cấu trúc như sau:

Dòng đầu tiên chứa N là số lương các số nguyên dương phải xét (N<20) N dòng tiếp theo, mỗi dòng chứa một số nguyên dương phải xét.

Kết quả: ghi ra file PYTHA.OUT gồm N dòng tương ứng với N số phải xét trong file PYTHA.INP nói trên. Nếu lập phương án của số tương ứng không thể phân tích thành tổng của 3 lập phương thì dòng này ghi là -1, ngược lại, dòng đó sẽ ghi 3 số nguyên dương mà tổng lập phương của chúng bằng lập phương của số được xét.Ví dụ:

PYTHA.INP PYTHA.OUT446919

03 4 503 10 18

Bài 125: Đếm số thoả mãn tính chấtCho 2 số nguyê K và N. Có bao nhiêu số nguyên dương không vượt quá N mà tổng các chữ số của nó chia hết K?Chú ý: làm bài lưu với tên COUNT.PASDữ liệu vào từ file COUNT.INP gồm một dòng chứa 2 số nguyên K và N cách nhau một dấu cách.Kết quả: ghi ra file COUNT.OUT chỉ gồm một dòng ghi số H là số lượng các số nguyên dương không vượt quá N mà tổng các chữ số của nó chia hết cho K.Ví dụ:

COUNT.INP COUNT.OUT100 3 3322 4 5

Bài 126: Viết các số của dãy số tự nhiên liên tiếp liền nhau thành một số kéo dài vô tận là0123456789101112131415161718192021222324252627282930….Cho trước số nguyên dương N, hỏi chữ số ở vị trí thứ N là chữ số nào?Ví dụ:

SOHAN.INP SOHAN.OUT15 2

Bài 127: cho dãy số gồm N số nguyên từ 1 đến N. tại thời điểm hiện tại số i đứng tại vị trí thứ i của dãy, cứ sau mỗi giây, mỗi số lại chuyển sang vị trí tiếp theo (từ vị trí k chuyển tới vị trí k + 1 nếu N>k, nếu N=k thì chuyển về vị trí 1. hãy tìm dãy sau T giây.File MOVE.INP gồn 2 số N và T (1<=N<=100 ; 0<=T<=30000) ;MOVE.INP MOVE.OUT5 3 3 4 5 1 2Bài 128: SANCho một dãy n (n<=20) số nguyên dương a1,a2,…,an. Hãy tìm cách biến đổi dãy trên về dãy tòan số 0 với ít phép biến đổi nhất.Dữ liệu vào cho trong file SAN.INP gồm 2 dòng

- Dòng đầu ghi số N là số phần tử của dãy- Dòng thứ 2 ghi N số nguyên dương là phần tử ai của dãy các số cách nhau ít nhất 1 dấu cách.

Kết quả: ghi ra file SAN.OUT gồm một số duy nhất là số lần thực hiện phép biến đổi.Ví dụ:SAN.INP SAN.OUT49 6 15 12

4

51 2 3 4 5

5

56 2 7 9 1

5

Page 28: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài 129 Số thân thiệnTìm tất cả các số tự nhiên n chữ số(2<=N<20) mà khi đảo trật tự của hai chữ số đó sẽ thu được một số nguyên tố cùng nhau với số đã cho.

Bài 130 Số cấp cộng Tìm các số tự nhiên lẻ có ba chữ số. Ba chữ số này, theo trật tự từ trái qua phải tạo thành một cấp số cộng.

Bài 131 Số cấp nhân Tìm các số tự nhiên có ba chữ số. Ba chữ số này, theo trật tự từ trái qua phải tạo thành một cấp số nhân với công bội là một số tự nhiên khác 0.

Bài 132. Chia mảng tỉ lệ 1:1 Tìm cách chia dãy số nguyên không âm a1, a2,...,an, n > 1 cho trước thành hai đoạn có tổng các phần tử trong mỗi đoạn bằng nhau.

Bài 133 Mảng ngẫu nhiên Sinh ngẫu nhiên n số nguyên không âm cho mảng nguyên a.

Bài 134. Sinh ngẫu nhiên tăngSinh ngẫu nhiên n phần tử được sắp không giảm cho mảng nguyên a.

Bài 135. Sinh hoán vị ngẫu nhiênSinh ngẫu nhiên cho mảng nguyên a một hoán vị của 1..n.

Bài 136. Sinh ngẫu nhiên đều Sinh ngẫu nhiên n phần tử cho mảng nguyên a thoả điều kiện n phần tử tạo thành k đoạn liên tiếp có tổng các phần tử trong mỗi đoạn bằng nhau và bằng giá trị t cho trước.

Bài 137. Sinh ngẫu nhiên tỉ lệ Sinh ngẫu nhiên cho mảng nguyên a có n phần tử tạo thành hai đoạn liên tiếp có tổng các phần tử trong một đoạn gấp k lần tổng các phần tử của đoạn kia.

Bài 138. Sinh ngẫu nhiên tệp cấp số cộng Sinh ngẫu nhiên một cấp số cộng có n số hạng và ghi vào một tệp văn bản có tên cho trước.

Bài 139. Sinh ngẫu nhiên mảng đối xứngSinh ngẫu nhiên các giá trị để ghi vào một mảng hai chiều a[1..n, 1..n] sao cho các phần tử đối xứng nhau qua đường chéo chính, tức là

a[i, j] = a[j, i], 1 ≤ i, j ≤ N.Bài 140. Số độ cao h

Độ cao của một số tự nhiên là tổng các chữ số của số đó. Sinh toàn bộ các số tự nhiên có tối đa ba chữ số và có độ cao h cho trước. Ghi kết quả vào một tệp văn bản có tên cho trước.

Bài 141. Đọc dữ liệu từ tệp vào mảng đối xứng Đọc dữ liệu kiểu nguyên từ một tệp văn bản có tên fn vào một mảng hai chiều đối xứng. Tệp có cấu trúc như sau: - Số đầu tiên ghi số lượng cột (và đồng thời là số lượng dòng) của mảng.- Tiếp đến là các dữ liệu ghi liên tiếp nhau theo nửa tam giác trên tính từ đường chéo chính. - Các số cùng dòng cách nhau ít nhất một dấu cách.Thí dụ: 3 1 2 3 4 6 8 sẽ được bố trí vào mảng 3 3 như sau:

1 2 32 4 63 6 8

Bài 142. Đếm tàu

Page 29: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Một tệp văn bản có tên fn có ghi sơ đồ một vùng biển hình chữ nhật chiều ngang 250 kí tự, chiều dọc (số dòng) không hạn chế. Trên biển có các con tàu hình chữ nhật chứa các kí tự 1, vùng nước được biểu thị qua các kí tự 0. Biết rằng các con tàu không dính nhau. Hãy đếm số lượng tàu. Ví dụ, hình bên có 5 tàu.

Bài 143. Bộ Tú lơ khơLập chương trình hiển thị trên màn hình các quân bài Tú lơ khơ gồm Rô, Cơ, Pích, Nhép theo quy định quân A mang mã số 1 và có 1 hình đơn vị, các quân mã số i từ 2 đến 10 có i hình đơn vị, các quân J, Q và K lần lượt có 11, 12 và 13 hình đơn vị tương ứng. Hình đơn vị gồm bốn loại kí tự có mã ASCII tương ứng như sau:

(Rô) : #4, (Cơ) : #3, (Pích): #6, (Nhép): #5.

8 A Q

8 A Q

Ba quân bài Tú lơ khơBài 144. Bảng nhảy

Bảng nhảy bước b, bậc k là một tấm bảng có đặc tính kì lạ sau đây: nếu bạn viết lần lượt lên bảng n số nguyên thì sau khi viết số thứ i, số thứ (i – b) đã viết trước đó sẽ được tăng thêm k đơn vị mà ta gọi là nhảy số.Với mỗi cặp số nguyên dương b và k cho trước hãy lập trình để biến màn hình máy tính của bạn thành một bảng nhảy sau đó thử viết lên tấm bảng đó để nhận được dãy N số tự nhiên đầu tiên 1 2 ... N với mỗi N cho trước.Thí dụ, để thu được dãy số 1 2 ... 10 trên bảng nhảy bước b = 3 bậc k = 6 bạn cần viết dãy số sau:

-5 -4 -3 -2 -1 0 1 8 9 10Bài 145. Cụm

Một cụm trong một biểu thức toán học là đoạn nằm giữa hai dấu đóng và mở ngoặc đơn (). Với mỗi biểu thức cho trước hãy tách các cụm của biểu thức đó. Dữ liệu vào: Tệp văn bản CUM.INP chứa một dòng kiểu xâu kí tự (string) là biểu thức cần xử lí.Dữ liệu ra: Tệp văn bản CUM.OUT dòng đầu tiên ghi d là số lượng cụm. Tiếp đến là d dòng, mỗi dòng ghi một cụm được tách từ biểu thức. Trường hợp gặp lỗi cú pháp ghi số – 1.Thí dụ:

CUM.INP CUM.OUT

x*(a+1)*((b-2)/(c+3))

4(a+1)(b-2)(c+3)((b-2)/(c+3))

Bài 146 abc - sắp theo chỉ dẫnCho xâu S gồm N kí tự tạo từ các chữ cái 'a'..'z'. ta gọi S là xâu mẫu. Từ xâu mẫu S này người ta tạo ra N xâu thứ cấp bằng cách dịch xâu S qua trái i vị trí theo dạng vòng tròn, tức là i kí tự đầu xâu lần lượt

1 1 1 1 0 0 1 1 10 0 0 0 0 0 1 1 11 1 0 0 0 0 0 0 01 1 0 0 1 1 0 0 1

5 tàu

Page 30: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

được chuyển về cuối xâu, i = 0, 1,…, N - 1. Như vậy xâu thứ cấp với i = 0 sẽ trùng với xâu mẫu S. Giả sử ta đã sắp tăng N xâu thu được theo trật tự từ điển. Hãy tìm xâu thứ k trong dãy.Tên chương trình: abc.pas.Dữ liệu vào: tệp văn bản abc.inp có cấu trúc như sau:- Dòng thứ nhất chứa hai số tự nhiên N và k cách nhau qua dấu cách,

6 N 500, 1 k N. N cho biết chiều dài xâu S, k cho biết vị trí của xâu thứ cấp trong dãy được sắp tăng theo thứ tự từ điển.

- Dòng thứ hai: xâu mẫu S.Dữ liệu ra: tệp văn bản abc.out gồm một dòng chứa xâu thứ k trong dãy được sắp.Thí dụ:

abc.inp abc.out

6 3Dabdec

cdabde

Bài 147. Từ chuẩnMột từ loại M là một dãy các chữ số, mỗi chữ số nằm trong khoảng từ 1 đến M. Số lượng các chữ số có mặt trong một từ được gọi là chiều dài của từ đó. Từ loại M được gọi là từ chuẩn nếu nó không chứa hai khúc (từ con) liền nhau mà giống nhau.a) Với giá trị N cho trước, hiển thị trên màn hình một từ chuẩn loại 3 có chiều dài N.b) Với mỗi giá trị N cho trước, tìm và ghi vào tệp văn bản tên TUCHUAN.OUT mọi từ chuẩn loại 3 có chiều dài N.

1 N 40000.Thí dụ:1213123 là từ chuẩn loại 3, chiều dài 7.1213213 không phải là từ chuẩn vì nó chứa liên tiếp hai từ con giống nhau là 213. Tương tự, 12332 không phải là từ chuẩn vì chứa liên tiếp hai từ con giống nhau là 3.

Ví dụ: Với N = 16, M = 3, có tổng cộng 798 nghiệm, tức là 798 từ chuẩn chiều dài 16 tạo từ các chữ số 1, 2 và 3. Dưới đây là 20 nghiệm đầu tiên tìm được theo thuật toán.

Nghiem thu 1: 1213123132123121Nghiem thu 2: 1213123132123213Nghiem thu 3: 1213123132131213Nghiem thu 4: 1213123132131231Nghiem thu 5: 1213123132131232Nghiem thu 6: 1213123132312131Nghiem thu 7: 1213123132312132Nghiem thu 8: 1213123132312321Nghiem thu 9: 1213123212312131Nghiem thu 10: 1213123212312132Nghiem thu 11: 1213123212313212Nghiem thu 12: 1213123212313213Nghiem thu 13: 1213123212313231Nghiem thu 14: 1213123213121321Nghiem thu 15: 1213123213121323Nghiem thu 16: 1213123213231213Nghiem thu 17: 1213123213231232Nghiem thu 18: 1213123213231321Nghiem thu 19: 1213212312131231

Nghiem thu 20: 1213212312131232

Page 31: · Web viewBÀI TẬP 53: Một số gồm 4 chữ số giống nhau chia ch một số gồm 3 chữ số giống nhau thì được thương là 16 và số dư là một số r

Bài 148. Data Trong file văn bản data.inp chứa dòng dữ liệu đầu tiên có nội dung "Tinh tong cua n so sau day:", trong đó n là một số nguyên dương cho trước.Tiếp đến là n số nguyên ghi cách nhau qua dấu cách.Yêu cầu: xác định giá trị của n và tính tổng của n số trong file data.inp rồi ghi kết quả vào output file data.out theo định dạng cho trong bảng.

Bài 149. Xâu con chungHãy tìm chiều dài lớn nhất k trong số các xâu con chung của hai xâu x và y.

Thí dụ, x = "xaxxbxcxd", y = "ayybycdy", chiều dài của xâu con chung dài nhất là 4 ứng với xâu "abcd".

Bài 150. Đoạn chungHãy tìm chiều dài lớn nhất k trong số các đoạn chung của hai xâu x và y.Thí dụ, x = "xabcxxabcdxd", y = "aybcyabcdydy" có chiều dài của đoạn chung dài nhất là 4 ứng với đoạn "abcd".

Bài 151: Viết chương trình nhập vào ngày, tháng, năm ở dạng dd/mm/yyyy. Yêu in ra màn hình thứ của ngày đó. Ví dụ: nhập 10/12/1985 kết quả: Thứ Ba.

Chú ý: với tháng giêng là 11, tháng hai là 12, tháng ba là 1,… tháng

12 là 10.

data.inpTinh tong cua 12 so sau day:1 -2 3 -4 5 67 8 9 10 -11 -12

data.outTong cua 12 so: +1 -2 +3 -4 +5 +6 +7 +8 +9 +10 -11 -12 = 20