Uploaded by Phạm Thùy Trang

C/C++ Programming Course Materials

advertisement
[CLB Lập trình Full House]
Chào cậu, chúng tớ là CLB lập trình Full House!!!
Để giúp đỡ các bạn học sinh, sinh viên có thêm nhiều tài liệu học tập, chúng tớ đã
tổng hợp 70 bài tập lập trình C/C++ từ cơ bản đến nâng cao có trong khóa học
của CLB.
Mong rằng bộ bài tập này sẽ có thể giúp đỡ các cậu trong quá trình học tập!
Lộ trình khóa học lập trình C/C++ từ cơ bản đến nâng cao của chúng tớ:
Chúng tớ luôn sẵn sàng giúp đỡ nếu cậu gặp khó khăn trong quá trình làm bài.
Group hỗ trợ bài tập: https://www.facebook.com/groups/1386904321519984
Link đăng ký khóa học:
https://www.facebook.com/profile.php?id=100070971885282
1
[CLB Lập trình Full House]
Bộ 70 bài tập C/C++ từ cơ bản đến nâng cao
Bài 1. Fafa sở hữu một công ty làm việc trên các dự án lớn. Có n nhân viên trong
công ty của Fafa. Bất cứ khi nào công ty có một dự án mới để bắt đầu làm việc,
Fafa phải phân chia nhiệm vụ của dự án này cho tất cả các nhân viên.
Fafa thấy làm điều này mỗi lần là rất mệt mỏi đối với anh ta. Vì vậy, anh quyết
định chọn những nhân viên l giỏi nhất trong công ty của mình làm trưởng
nhóm. Bất cứ khi nào có một dự án mới, Fafa sẽ phân chia nhiệm vụ cho chỉ
các trưởng nhóm và mỗi trưởng nhóm sẽ chịu trách nhiệm về một số nhân viên
tích cực để giao cho họ các nhiệm vụ. Để làm cho quá trình này công bằng cho
các trưởng nhóm, mỗi người trong số họ phải chịu trách nhiệm cho cùng một số
lượng nhân viên. Hơn nữa, mỗi nhân viên, người không phải là trưởng nhóm,
phải chịu trách nhiệm của chính xác một trưởng nhóm và không có trưởng
nhóm nào chịu trách nhiệm cho một trưởng nhóm khác.
Dựa vào số lượng nhân viên n, hãy tìm xem có bao nhiêu cách Fafa có thể chọn
số lượng trưởng nhóm l theo cách có thể phân chia nhân viên giữa họ một cách
đồng đều. Input
Đầu vào bao gồm một dòng duy nhất chứa số nguyên dương n (2<= n<= 10^5) số lượng nhân viên trong công ty của Fafa.
Output
In một số nguyên duy nhất đại diện cho câu trả lời cho vấn đề.
Ví dụ
Input
2
[CLB Lập trình Full House]
10
Output
3
Bài 2. Polycarp có ba chị em: Alice, Barbara và Cerene. Họ đang thu thập tiền xu.
Hiện tại, Alice có một đồng tiền, Barbara có tiền xu và Cerene có tiền xu. Gần đây
Polycarp đã trở về từ chuyến đi vòng quanh thế giới và mang theo n xu. Anh ta
muốn phân phối tất cả n xu này giữa các chị em của mình theo cách mà số lượng
tiền Alice có bằng số lượng tiền mà Barbara có và bằng với số lượng tiền mà
Cerene có. Nói cách khác, nếu Polycarp đưa A xu cho Alice, B xu cho Barbara và
C xu cho Cerene (A + B + C = n), thì a + A = b + B = c + C.
Lưu ý rằng A, B hoặc C (số lượng tiền mà Polycarp đưa cho Alice, Barbara và
Cerene tương ứng) có thể là 0.
Nhiệm vụ của bạn là tìm hiểu xem có thể phân phối tất cả n xu giữa các chị em
theo cách được mô tả ở trên không.
Bạn phải trả lời t trường hợp kiểm tra độc lập.
Input
Dòng đầu tiên của đầu vào chứa một số nguyên t (1≤t≤10^4) - số lượng trường
hợp kiểm tra.
Các dòng t tiếp theo mô tả các trường hợp thử nghiệm. Mỗi trường hợp thử
nghiệm được đưa ra trên một dòng mới và bao gồm bốn số nguyên cách nhau
không gian a, b, c và n (1≤a, b, c, n≤10^8) - số lượng tiền Alice có, số lượng tiền
Barbara có, số lượng tiền mà Cerene có và số lượng tiền mà Polycarp có.
Output
3
[CLB Lập trình Full House]
Đối với mỗi trường hợp thử nghiệm, hãy in "YES" nếu Polycarp có thể phân
phối tất cả n xu giữa các chị em của mình và "NO" nếu không.
Ví dụ
Input
5
5328
100 101 102 105
3 2 1 100000000
10 20 15 14
101 101 101 3
Output
YES
YES
NO NO
YES
Bài 3. Mahmoud và Ehab chơi một trò chơi gọi là trò chơi chẵn. Ehab chọn số
nguyên n yêu thích của mình và sau đó họ thay phiên nhau, bắt đầu từ Mahmoud.
Trong lượt của mỗi người chơi, anh ta phải chọn một số nguyên a và lấy n trừ a
sao cho: 1 ≤ a ≤ n.
Nếu đến lượt của Mahmoud, thì phải là chẵn, nhưng nếu đến lượt của Ehab, thì
phải là số lẻ.
Nếu người chơi hiện tại không thể chọn bất kỳ số nào thỏa mãn điều kiện, anh ta
sẽ thua. Bạn có thể xác định người chiến thắng nếu cả hai chơi tối ưu? Input
4
[CLB Lập trình Full House]
Dòng duy nhất chứa một số nguyên n (1<=n<=10^9), số ở đầu trò
chơi. Output
Xuất "Mahmoud" (không có dấu ngoặc kép) nếu Mahmoud thắng và
"Ehab" (không có dấu ngoặc kép) nếu không.
Ví dụ
Input
2
Output
Mahmoud
Bài 4. Có năm người chơi một trò chơi gọi là "Sự hào phóng". Mỗi người đưa ra
một số lượng tiền xu khác không b như một lần đặt cược ban đầu. Sau khi tất cả
người chơi đặt cược tiền xu của họ, thao tác sau được lặp lại nhiều lần: một đồng
xu được chuyển từ người chơi này sang người chơi khác.
Nhiệm vụ của bạn là viết một chương trình có thể, với số lượng xu mà mỗi người
chơi có vào cuối trò chơi, xác định kích thước b của lần đặt cược ban đầu hoặc
chỉ ra rằng kết quả của trò chơi không thể đạt được. Input
Đầu vào bao gồm một dòng duy nhất chứa năm số nguyên c1, c2, c3, c4 và c5 - số
lượng đồng xu mà người chơi thứ nhất, thứ hai, thứ ba, thứ tư và thứ năm có ở
cuối trò chơi (0 ≤ c1, c2, c3, c4, c5 <=100). Output
In dòng duy nhất chứa một số nguyên dương b duy nhất - số xu trong đặt cược ban
đầu của mỗi người chơi. Nếu không có giá trị b như vậy, thì hãy in giá trị duy nhất
"-1" (trích dẫn cho rõ ràng).
Ví dụ
Input
5
[CLB Lập trình Full House]
25404
Output
3
Bài 5. Gần đây Anton tìm thấy một hộp có chữ số trong phòng của mình. Có
k2 chữ số 2, k3 chữ số 3, k5 chữ số 5 và k6 chữ số 6.
Số nguyên yêu thích của Anton là 32 và 256. Anh quyết định soạn số nguyên này
từ các chữ số anh có. Anh ta muốn làm cho tổng của các số nguyên này càng lớn
càng tốt. Giúp anh ta giải quyết nhiệm vụ này!
Mỗi chữ số có thể được sử dụng không quá một lần, tức là các số nguyên tổng
hợp nên chứa không quá k2 chữ số 2, k3 chữ số 3, v.v. Tất nhiên, các chữ số
không sử dụng không được tính vào tổng. Input
Dòng duy nhất của đầu vào chứa bốn số nguyên k2, k3, k5 và k6 - số chữ số 2, 3,
5 và 6 tương ứng (0 ≤ k2, k3, k5, k6 <=5.10^6). Output
In một số nguyên - tổng số tối đa có thể có của các số nguyên yêu thích của
Anton có thể được tạo bằng các chữ số từ hộp.
Ví dụ
Input
5134
Output
800
Bài 6.Bizon the Champion được gọi là Champion vì một lý do.
Bizon the Champion gần đây đã có một món quà - một tủ kính mới với n kệ và
anh quyết định đặt tất cả những món quà của mình ở đó. Tất cả các món quà có
thể được chia thành hai loại: huy chương và cúp. Bizon the Champion có a1 cúp
6
[CLB Lập trình Full House]
giải nhất, a2 cúp giải nhì và a3 cúp giải ba. Bên cạnh đó, anh có b1 huy chương
giải nhất, b2 huy chương giải nhì và b3 huy chương giải ba.
Đương nhiên, phần thưởng trong tủ phải sắp xếp cho thật đẹp, đó là lý do
Bizon the Champion quyết định tuân theo các quy tắc: bất kỳ kệ nào cũng
không thể chứa cả cốc và huy chương cùng một lúc; không có kệ có thể chứa
nhiều hơn năm cốc; không có kệ có thể có hơn mười huy chương.
Giúp Bizon the Champion tìm hiểu xem chúng tôi có thể đặt tất cả các phần
thưởng để tất cả các điều kiện được đáp ứng hay không.
Input
Dòng đầu tiên chứa các số nguyên a1, a2 và a3 (0 ≤ a1, a2, a3<= 100). Dòng thứ
hai chứa các số nguyên b1, b2 và b3 (0 ≤ b1, b2, b3<= 100). Dòng thứ ba chứa
số nguyên n (1 <=n <=100).
Các số trong các dòng được phân tách bằng khoảng trắng đơn. Output
In "YES" (không có dấu ngoặc kép) nếu tất cả các phần thưởng có thể được đưa
lên kệ theo cách được mô tả. Nếu không, hãy in "NO" (không có dấu ngoặc kép).
Ví dụ
Input
111
111
4
Output
YES
7
[CLB Lập trình Full House]
Bài 7. Ngày lễ đã kết thúc. Nhờ sự giúp đỡ của hacker Leha, Noora đã tìm được
cơ hội vào trường đại học trong mơ của cô nằm ở thị trấn Pavlopolis. Người ta biết
rằng các trường đại học cung cấp cho sinh viên ký túc xá trong thời gian học đại
học. Do đó, Noora phải rời Vičkopolis và chuyển đến Pavlopolis. Do đó, Leha bị
bỏ lại một mình hoàn toàn trong một thị trấn yên tĩnh Vičkopolis. Anh gần như
thậm chí rơi vào trầm cảm vì buồn chán!
Leha nghĩ ra một nhiệm vụ cho bản thân để thư giãn một chút. Anh ta chọn hai
số nguyên A và B và sau đó tính ước số chung lớn nhất của các số nguyên "A
giai thừa" và "giai thừa B". Leha muốn tìm ra GCD (A!, B!). Người ta biết rằng
giai thừa của một số nguyên x là tích của tất cả các số nguyên dương nhỏ hơn
hoặc bằng x. Như vậy x! = 1 · 2 · 3 · ... · (x - 1) · x. Ví dụ 4! = 1 · 2 · 3 · 4 = 24.
Hãy nhớ rằng GCD (x, y) là số nguyên dương lớn nhất q chia hết bởi (không có
phần dư) cả x và y.
Leha đã học được cách giải quyết nhiệm vụ này rất hiệu quả. Bạn có thể đối
phó với nó, phải không? Input
Dòng đầu tiên và dòng đơn chứa hai số nguyên A và B (1<=A, B <=10^9,
min (A, B)<=12). Output
In một số nguyên duy nhất biểu thị ước số chung lớn nhất của số nguyên A! và
B!.
Ví dụ
Input
43
Output
6
8
[CLB Lập trình Full House]
Bài 8. Năm mới sắp đến và bạn rất hào hứng muốn biết còn lại bao nhiêu phút
trước Tết. Bạn biết rằng hiện tại đồng hồ hiển thị h giờ và m phút, trong đó 0≤hh
<24 và 0≤mm <60. Chúng tôi sử dụng định dạng thời gian 24 giờ!
Nhiệm vụ của bạn là tìm số phút trước Tết. Bạn biết rằng năm mới đến khi đồng
hồ hiển thị 0 giờ và 0 phút.
Bạn phải trả lời t trường hợp kiểm tra độc lập. Input
Dòng đầu tiên của đầu vào chứa một số nguyên t (1≤t≤1439) - số lượng trường
hợp kiểm tra.
Các dòng t sau đây mô tả các trường hợp thử nghiệm. Dòng thứ i chứa thời gian là
hai số nguyên h và m (0≤h <24, 0≤m <60). Đảm bảo rằng thời gian này không
phải là nửa đêm, tức là hai điều kiện sau đây không thể được đáp ứng cùng một
lúc: h =
0 và m = 0. Nó được đảm bảo rằng cả h và m được đưa ra mà không có số 0
đứng đầu.
Output
Đối với mỗi trường hợp kiểm tra, hãy in câu trả lời trên đó - số phút trước
Tết. Ví dụ Input
5
23 55
23 0
01
4 20
23 59
9
[CLB Lập trình Full House]
Output
5
60
1439
1180
1
Bài 9. Yakko, Wakko và Dot chơi xúc xắc.
Yakko ném xúc xắc và nhận được điểm Y, điểm Wakko là W. Đến lượt của
Dot. Nhưng cô không vội. Dot muốn biết chắc chắn cơ hội chiến thắng của cô
là bao nhiêu.
Được biết, Yakko và Wakko là những quý ông đích thực, đó là lý do tại sao
nếu họ có cùng số điểm với Dot, họ sẽ để Dot giành chiến thắng.
Input
Dòng duy nhất của tệp đầu vào chứa hai số tự nhiên Y và W - kết quả của các
lần tung xung xắc của Yakko và Wakko. Output
Đưa ra xác suất cần thiết dưới dạng phân số không thể thay đổi theo định dạng «A
/ B», trong đó A - tử số và B - mẫu số. Nếu xác suất yêu cầu bằng 0, xuất ra «0/1».
Nếu xác suất yêu cầu bằng 1, xuất ra «1/1».
Ví dụ
Input
42
Ouput
1/2
10
[CLB Lập trình Full House]
Bài 10. Pashmak đã yêu một cô gái hấp dẫn tên là Parmida từ một năm trước ...
Hôm nay, Pashmak đã tạo một hẹn với đối tác của mình trong một khu vườn lãng
mạn. Thật không may, Pashmak đã quên mất khu vườn. Nhưng anh ta nhớ rằng
khu vườn trông giống như một hình vuông với các cạnh song song với các trục tọa
độ. Ông cũng nhớ rằng có chính xác một cây trên mỗi đỉnh của hình vuông. Bây
giờ, Pashmak biết vị trí của chỉ hai cây. Giúp anh ta tìm vị trí của hai người còn
lại. Input
Dòng đầu tiên chứa bốn số nguyên x1, y1, x2, y2 (- 100 ≤ x1, y1, x2, y2 <=100)
cách nhau không gian, trong đó x1 và y1 là tọa độ của cây thứ nhất và x2 và y2
là tọa độ của cây thứ hai cây. Nó được đảm bảo rằng các điểm đã cho là khác
biệt.
Output
Nếu không có giải pháp cho vấn đề, hãy in -1. Mặt khác in bốn số nguyên cách
nhau không gian x3, y3, x4, y4 tương ứng với tọa độ của hai cây khác. Nếu có
một số giải pháp bạn có thể xuất ra bất kỳ giải pháp nào.
Lưu ý rằng x3, y3, x4, y4 phải nằm trong phạm vi (- 1000 ≤ x3, y3, x4, y4
<=1000).
Ví dụ
Input
0001
Output
1011
Bài tập buổi 13+14
Bài 1: Tổng các phần tử là số nguyên tố thuộc tam giác dưới
11
[CLB Lập trình Full House]
Nhập ma trận A là ma trận vuông cấp n. Tìm tổng các phần tử là số nguyên tố
thuộc tam giác dưới (nếu không có phần tử nào in ra 0) INPUT
4
1234
5678
9 10 11 12
13 14 15 16
OUTPUT
29
Bài 2: Đếm các phần tử là số nguyên tố trên đường chéo chính và đường
chéo phụ
Nhập ma trận A là ma trận vuông cấp n. Đếm các số nguyên tố trên đường
chéo chính và đường chéo phụ (mỗi phần tử thỏa mãn chỉ đếm một lần)
INPUT
4
1234
5678
9 10 11 12 1
12
[CLB Lập trình Full House]
3 14 15 16
OUTPUT
3
Bài 3: Xoay ma trận 180 độ.
Nhập ma trận A là ma trận vuông cấp n. Thực hiện xoay ma trận một góc 180
độ
INPUT
4
1234 5
678
9 10 11 12
13 14 15 16
OUTPUT
16 15 14 13
12 11 10 9
8765
4321
Bài 4: Đếm số phần tử chẵn và phần tử lẻ trong mảng.
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1), thực
hiện đếm và in ra
số phần tử chẵn và số phần tử lẻ trong mảng
13
[CLB Lập trình Full House]
Trong đó: -INPUT: Hàng thứ nhất là số phần tử của mảng Hàng thứ hai là các
phần tử của mảng
-OUTPUT
Số phần tử chẵn và số phần tử lẻ
INPUT
5
23791
OUTPUT
14
Bài 5. Ma trận chuyển vị (chuyển từ hàng thành cột)
Nhập ma trận A là ma trận vuông cấp n. Thực hiện chuyển ma trận từ hàng
thành cột.
INPUT
4
1234 5
678
9 10 11 12
13 14 15 16
OUTPUT
1 5 9 13
2 6 10 14
3 7 11 15
14
[CLB Lập trình Full House]
4 8 12 16
Bài 6. Kiểm tra mảng đối xứng
Viết chương trình cho phép nhập mảng và kiểm tra xem mảng có đối
xứng hay không. Nếu đối xứng in ra 1, không đối xứng in ra 0. INPUT
12
123456654321
OUTPUT
1
Bài 7. Loại bỏ hàng và cột có tổng lớn nhất khỏi ma trận (trên ma trận ban
đầu)
Cho một ma trận cấp M*N chỉ bao gồm các số nguyên dương không quá 1000.
Viết chương trình trước hết loại bỏ hàng có tổng lớn nhất sau đó tính toán lại trên
ma trận ban đầu và loại tiếp cột có tổng lớn nhất ra khỏi ma trận.
INPUT
33
124 340 635
OUTPUT
24
40
Bài 8. Xoay ma trận 90 độ theo chiều kim đồng hồ
15
[CLB Lập trình Full House]
Nhập ma trận A là ma trận vuông cấp n. Thực hiện xoay ma trận một góc
90 độ theo chiều kim đồng hồ được ma trận B. INPUT
4
1234 5678
9 10 11 12
13 14 15 16
OUTPUT
13 9 5 1
14 10 6 2
15 11 7 3
16 12 8 4
Bài 9. Đếm các phần tử chẵn lẻ trong mảng 1 chiều
Viết chương trình nhập mảng n (n>1) phần tử số nguyên. Đếm và in ra các phần
tử chẵn và lẻ trong mảng INPUT
7
2 5 8 1 5 12 11
OUTPUT
3 2 8 12
4 5 1 5 11
Bài 10. Tìm phần tử lớn thứ hai trong mảng
16
[CLB Lập trình Full House]
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1)
và thực hiện in ra phàn tử lớn thứ hai trong mảng Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng
Hàng thứ hai là các phần tử của mảng
-OUTPUT
Phần tử lớn thứ hai trong mảng
INPUT
5
23791
OUTPUT
7
Bài 11. Ma trận xoáy ốc.
Ma trận xoáy ốc cấp N là ma trận vuông có N*N phần tử. Các số được điền vào
ma trận trận theo chiều kim đồng hồ theo thứ tự tăng dần bắt đầu từ 1
INPUT
3
OUTPUT
123
894
765
17
[CLB Lập trình Full House]
Bài 12. Liệt kê các phần tử xuất hiện nhiều hơn một lần trong mảng.
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1) và
thực hiện in ra các phần tử xuất hiện nhiều hơn 1 lần trong mảng theo thứ tự
xuất hiện (Nếu không có phần tử nào thỏa mãn in ra 0)
Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng
Hàng thứ hai là các phần tử của mảng
-OUTPUT
Các phần tử thỏa mãn theo thứ tự xuất hiện
INPUT
7
2332195
OUTPUT
23
Bài 13. Loại bỏ hàng và cột có tổng lớn nhất khỏi ma trận
Cho một ma trận cấp M*N chỉ bao gồm các số nguyên dương không quá 1000.
Viết chương trình trước hết loại bỏ hàng có tổng lớn nhất sau đó tiếp tục loại tiếp
cột có tổng lớn nhất ra khỏi ma trận
INPUT
33
18
[CLB Lập trình Full House]
124
340
635
OUTPUT
14
30
Bài 14. Tìm cột có tổng các phần tử là lớn nhất trong ma trận.
Nhập ma trận A là ma trận vuông cấp n. Tìm cột có tổng các phần tử lớn nhất
và in ra thứ tự cột và các
giá trị của cột đó (nếu có nhiều hơn một cột thì
in ra vị trí cột xếp trước) INPUT
4
1234
5678
9 10 11 12
13 14 15 16
OUTPUT
4
4 8 12 16
Bài 15. Đếm số nguyên tố (theo thứ tự từ nhỏ đến lớn) trong mảng một
chiều.
Cho dãy số A có n phần tử chỉ bao gồm các số nguyên dương (không quá 9 chữ
số). Hãy xác định các số nguyên tố trong dãy và đếm xem mỗi số xuất hiện bao
19
[CLB Lập trình Full House]
nhiêu lần. Dữ liệu vào gồm dòng đầu ghi số phần tử của mảng, dòng thứ hai là
các phần tử của mảng
Dữ liệu ra các số nguyên tố trong dãy theo thứ tự từ nhỏ đến lớn và số lần
xuất hiện của nó INPUT
10
1233213278
OUTPUT
23
33
71
Bài 16. Tìm cột có tổng các phần tử là nhỏ nhất trong ma trận
Nhập ma trận A là ma trận vuông cấp n. Tìm cột có tổng các phần tử nhỏ nhất và
in ra thứ tự cột
và các giá trị của cột đó (nếu có nhiều hơn một cột thì in ra vị trí cột xếp
trước)
INPUT
4
1234 5
678
9 10 11 12
13 14 15 16
OUTPUT
20
[CLB Lập trình Full House]
1
1 5 9 13
Bài 17. Xoay ma trận 90 độ theo chiều ngược chiều kim đồng hồ
Nhập ma trận A là ma trận vuông cấp n. Thực hiện xoay ma trận một góc
90 độ theo chiều ngược kim đồng hồ được ma trận B. INPUT
4
1234 5
678
9 10 11 12
13 14 15 16
OUTPUT
4 8 12 16
3 7 11 15
2 6 10 14
1 5 9 13
Bài 18. Tìm phần tử lớn nhất và nhỏ nhất trong mảng
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1)
và thực hiện in ra phàn tử lớn nhất và nhỏ nhất của mảng Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng
Hàng thứ hai là các phần tử của mảng
21
[CLB Lập trình Full House]
-OUTPUT
Phần tử lớn nhất và nhỏ nhất
INPUT
5
23791
OUTPUT
91
Bài 19. Ma trận xoáy ốc ngược.
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1) và
thực hiện in ra phàn tử lớn nhất và nhỏ nhất của mảng
Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng
Hàng thứ hai là các phần tử của mảng
-OUTPUT
Phần tử lớn nhất và nhỏ nhất
INPUT
5
23791
OUTPUT
91
22
[CLB Lập trình Full House]
Bài 20. Xoáy ốc nguyên tố.
Ma trận xoáy ốc nguyên tố cấp N là ma trận vuông có N*N phần tử. Các số
được điền vào ma trận theo chiều kim đồng hồ đều là các số nguyên tố từ nhỏ
đến lớn
INPUT
3
OUTPUT
235
19 23 7
17 13 11
Bài 21. Tổng các phần tử là số nguyên tố thuộc tam giác trên
Nhập ma trận A là ma trận vuông cấp n. Tìm tổng các phần tử là số
nguyên tố thuộc tam giác trên INPUT
4
1234 5
678
9 10 11 12
13 14 15 16
OUTPUT
23
Bài 22. Đếm nguyên tố trong mảng.
23
[CLB Lập trình Full House]
Viết chương trình nhập mảng n (n>1) phần tử số nguyên. Đếm các phần tử là số
nguyên tố trong mảng và in ra chúng
INPUT
6
1 5 3 19 18 25
OUTPUT
3 5 3 19
Bài 23. Liệt kê các phần tử xuất hiện một lần trong mảng
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1) và
thực hiện in ra các phần tử chỉ xuất hiện 1 lần trong mảng theo thứ tự xuất hiện
(Nếu không có phần tử nào thỏa mãn in ra 0)
Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng
Hàng thứ hai là các phần tử của mảng
-OUTPUT
Các phần tử thỏa mãn theo thứ tự xuất hiện
INPUT
7
2332195
OUTPUT 2
3
24
[CLB Lập trình Full House]
1
9
3OUTPUT
10
5
10
11Bài 25. Đếm các giá trị là số nguyên tố trên đường chéo chính và đường
chéo phụ
Error! Bookmark not defined.
195
Bài 24. Tích ma trận với chuyển vị.
Cho ma trận A chỉ gồm các số nguyên dương cấp N*M. Hãy viết chương trình
tính tích của A với ma trận chuyển vị của A.
Dữ liệu vào: dòng đầu tiên ghi hai số n và m; n dòng tiếp theo ghi các phần tử
của ma trận
Dữ liệu ra: ma trận tích
INPUT
Nhập ma trận A là ma trận vuông cấp n. Đếm các số nguyên tố trên đường
chéo chính và đường chéo phụ (mỗi giá trị thỏa mãn chỉ đếm một lần)
INPUT
4
1234 5
678
9 10 11 12
13 14 15 16
25
[CLB Lập trình Full House]
OUTPUT
3
Bài 26. Tìm khoảng cách nhỏ nhất giữa 2 phần tử bất kỳ
Viết chương trình nhập mảng n phần tử số nguyên. Tìm khoảng cách nhỏ nhất
của hai phần tử bất kỳ trong mảng. (Nếu có nhiều hơn 1 cặp phần tử thỏa mãn thì
in cặp có phần tử xuất hiện đầu tiên)
INPUT
6
1 5 3 19 18 25
OUTPUT
1 18 19
Bài 27. Đếm các phần tử là số thuận nghịch trong mảng 1 chiều
Viết chương trình nhập mảng n (n>1) phần tử số nguyên. Đếm các phần tử là
số thuận nghịch có ít nhất hai chữ số trong mảng và in ra chúng
INPUT
6
1 525 44 19 181 25
OUTPUT
3 525 44 181
Bài 28. Liệt kê các giá trị xuất hiện trong mảng
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1) và
thực hiện in ra các giá trị có trong mảng theo thứ tự xuất hiện
26
[CLB Lập trình Full House]
Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng
Hàng thứ hai là các phần tử của mảng
-OUTPUT
Các giá trị xuất hiện trong mảng
INPUT
7
2332195
OUTPUT
23195
Bài 29. Sắp xếp tăng.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1). Thực
hiện sắp xếp tăng dần các phần tử của mảng và in ra.
Trong đó:
INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
OUTPUT
Mảng kết quả
27
[CLB Lập trình Full House]
INPUT
8
13829765
OUTPUT
12356789
Bài 30. Tìm hàng có nhiều phần tử là số nguyên tố nhất
Viết chương trình C cho phép nhập vào ma trận vuông cấp n (n>1). Thực hiện tìm
hàng có nhiều phần tử là số nguyên tố nhất. Nếu có nhiều hơn một hàng thỏa mãn
thì in ra hàng đầu tiên.
Trong đó:
INPUT
- Dòng đầu tiên là cấp của ma trận
- Các dòng tiếp theo là các phần tử của ma trận
OUTPUT
- Dòng đầu tiên là số thứ tự hàng thỏa mãn
- Dòng thứ hai liệt kê các phần tử thỏa mãn
INPUT
4
8234 5678
9 10 11 12
13 14 15 16
28
[CLB Lập trình Full House]
OUTPUT
1
23
Bài 31. Dịch các phần tử sang phải.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1). Thực
hiện dịch n phần tử của mảng sang phải và in ra mảng kết quả
Trong đó:
INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
Hàng thứ ba là số phần tử dịch
OUTPUT
Mảng kết quả
INPUT
10
1 2 3 4 5 6 7 8 9 10
3
OUTPUT
8 9 10 1 2 3 4 5 6 7
Bài 32. Tính tổng từng hàng và từng cột trong ma trận
Viết chương trình C nhập vào ma trận A vuông cấp n. Tính tổng từng hàng,
29
[CLB Lập trình Full House]
từng cột và thực hiện in ra.
Trong đó
INPUT
- Hàng thứ nhất là cấp của ma trận
- Các hàng tiếp theo là các phần tử của ma trận
OUTPUT
- Hàng thứ nhất là tổng từng hàng
- Hàng thứ hai là tổng từng cột
INPUT
3
123 4
56
789
OUTPUT
6 15 24
12 15 18
Bài 33. Tích 2 ma trận.
Viết chương trình C cho phép nhập vào hai ma trận A (n hàng, m cột) và ma trận
B (m hàng, n cột. Tìm ma trận tích của ma trận A và ma trận B, in ra màn hình.
Trong đó: INPUT
30
[CLB Lập trình Full House]
- Hàng thứ nhất là n và m
- Các hàng tiếp theo là các phần tử của ma trận A và ma trận B
OUTPUT
- Ma trận tích kết quả
INPUT
33
123
456
789
345
678
123
OUTPUT
18 24 30
48 63 78
78 102 126
Bài 34. Đếm và liệt kê các phần tử chỉ xuất hiện duy nhất một lần trong
mảng Viết chương trình C cho phép nhập vào mảng A n phần tử số nguyên
(n>2). Đếm các phần tử chỉ xuất hiện một lần và liệt kê.
Trong đó:
INPUT
31
[CLB Lập trình Full House]
- Dòng đầu tiên là số phần tử của mảng
- Dòng thứ hai là các phần tử của mảng
OUTPUT
- Dòng đầu tiên là số các phần tử thỏa mãn
- Dòng thứ hai là các phần tử thõa mãn
INPUT
7
1 5 10 10 5 2 3
OUTPUT
3
123
Bài 35. Tìm hiệu 2 ma trận.
Viết chương trình C cho phép nhập vào hai ma trận A và B có cùng số hàng và
số cột là n và m.
Tìm ma trận hiệu của ma trận A và ma trận B, in ra màn hình.
Trong đó:
INPUT
- Hàng thứ nhất là số hàng và số cột của hai ma trận
- Các hàng tiếp theo là các phần tử của ma trận A và ma trận
B OUTPUT
- Ma trận hiệu kết quả
INPUT
32
[CLB Lập trình Full House]
33
123
456
789
345
678
123
OUTPUT
-2 -2 -2
-2 -2 -2
666
Bài 36. Dịch sang trái.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1). Thực
hiện dịch n phần tử của mảng sang trái và In ra mảng kết quả
Trong đó:
INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
Hàng thứ ba là số phần tử dịch
OUTPUT
33
[CLB Lập trình Full House]
Mảng kết quả
INPUT
10
1 2 3 4 5 6 7 8 9 10
3
OUTPUT
4 5 6 7 8 9 10 1 2 3
Bài 37. Tìm lớn nhất và lớn thứ 2.
Viết chương trình C cho phép nhập vào mảng A n phần tử số nguyên (với n >
2). Tìm giá trị lớn nhất và lớn thứ hai trong mảng
INPUT
6
80 23 79 58 11 10
OUTPUT
80 79
Bài 38. Loại bỏ trùng.
Viết chương trình C cho phép nhập vào mảng A n phần tử số nguyên (n>2).
Thực hiện loại bỏ các phần tử đã xuất hiện và In ra mảng kết quả.
Trong đó:
INPUT
- Dòng đầu tiên là số phần tử của mảng
- Dòng thứ hai là các phần tử của mảng
34
[CLB Lập trình Full House]
OUTPUT
- Mảng kết quả
INPUT
7
1 5 10 10 5 2 3
OUTPUT
1 5 10 2 3
Bài 39. Tìm tổng các phần tử thuộc tam giác trên và tổng các phần tử
thuộc tam giác dưới
Viết chương trình C nhập vào ma trận A vuông cấp n. Tính tổng các phần tử
thuộc tam giác trên và tổng các phần tử thuộc tam giác dưới. Lưu ý không
bao gồm đường chéo chính. INPUT
- Hàng thứ nhất là cấp của ma trận
- Các hàng tiếp theo là các phần tử của ma trận
OUTPUT
- Kết quả tính toán
INPUT
3
123 4
56
789
OUTPUT
35
[CLB Lập trình Full House]
11 19
Bài 40. Tìm tổng các phần tử là số nguyên tố thuộc tam giác trên Viết chương
trình C cho phép nhập ma trận A là ma trận vuông cấp n. Tìm tổng các phần tử là
số nguyên tố thuộc tam giác trên.
Trong đó
INPUT
- Dòng đầu tiên là cấp của ma trận
- Các dòng tiếp theo là các phần tử của ma trận
OUTPUT
- Dòng đầu tiên in kết quả của chương trình INPUT
4
1234
5678
9 10 11 12
13 14 15 16
OUTPUT
23
Bài 41. Tìm lớn nhất, nhỏ nhất và vị trí.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tử số nguyên (n>2).
Tìm giá trị lớn nhất, nhỏ nhất và vị trí của chúng trong mảng.(nếu có nhiều hơn 1
phần tử thỏa mãn thì in ra vị trí cuối cùng tìm thấy) Trong đó: INPUT
36
[CLB Lập trình Full House]
- Dòng đầu tiên là số phần tử của mảng
- Dòng thứ hai là các phần tử của mảng
OUTPUT
- Giá trị lớn nhất và vị trí
- Giá trị nhỏ nhất và vị trí
INPUT
8
9 1 2 1 18 16 5 9
OUTPUT
18 5
14
Bài 42. Sắp theo cột
Viết chương trình C cho phép nhập vào ma trận vuông các số nguyên dương
cấp M. Thực hiện sắp xếp các phần tử trong ma trận theo nguyên tắc giảm
dần theo cột. Trong đó: INPUT
- Hàng thứ nhất là cấp m của ma trận
- m hàng tiếp theo là các phần tử của ma trận
OUTPUT
- Ma trận kết quả
INPUT
3
37
[CLB Lập trình Full House]
729
456
183
OUTPUT
789
456
123
Bài 43. Tìm tổng các phần tử là số nguyên tố thuộc tam giác dưới Viết chương
trình C cho phép nhập ma trận A là ma trận vuông cấp n. Tìm tổng các phần tử là
số nguyên tố thuộc tam giác dưới.
Trong đó
INPUT
- Dòng đầu tiên là cấp của ma trận
- Các dòng tiếp theo là các phần tử của ma trận
OUTPUT
- Dòng đầu tiên in kết quả của chương trình (trường hợp không tồn tại số
nguyên tố nào thõa mãn, in ra 0)
INPUT
4
38
[CLB Lập trình Full House]
1234 5
678
9 10 11 12
13 14 15 16
OUTPUT
29
Bài 44. Nhỏ nhất và nhỏ thứ 2.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tử số nguyên
(n>2). Tìm giá trị nhỏ nhất và nhỏ thứ hai và in ra.
Trong đó:
INPUT
- Dòng đầu tiên là số phần tử của mảng
- Dòng thứ hai là các phần tử của mảng
OUTPUT
- Giá trị nhỏ nhất và giá trị nhỏ thứ hai
INPUT
6
80 23 79 58 11 10
OUTPUT
10 11
39
[CLB Lập trình Full House]
Bài 45. Tìm tổng các phần tử là số nguyên tố thuộc đường chéo chính và
đường chéo phụ
Viết chương trình C cho phép nhập ma trận A là ma trận vuông cấp n. Tìm
tổng các phần tử là số nguyên tố thuộc đường chéo chính và đường chéo phụ.
Trong đó INPUT
- Dòng đầu tiên là cấp của ma trận
- Các dòng tiếp theo là các phần tử của ma trận
OUTPUT
- Dòng đầu tiên in kết quả của chương trình (nếu không tìm thấy số nguyên tố
nào thì in ra 0)
INPUT
4
1234 5
678
9 10 11 12
13 14 15 16
OUTPUT
31
Bài 46. Đếm các phần tử xuất hiện nhiều hơn một lần và liệt kê. Viết
chương trình C cho phép nhập vào mảng A n phần tử số nguyên (n>2). Đếm các
phần tử xuất hiện nhiều hơn một lần và liệt kê. Trong đó: INPUT
- Dòng đầu tiên là số phần tử của mảng
40
[CLB Lập trình Full House]
- Dòng thứ hai là các phần tử của mảng
OUTPUT
- Dòng đầu tiên là số các phần tử thỏa mãn
- Dòng thứ hai là các phần tử thõa mãn
INPUT
7
1 5 10 10 5 2 3
OUTPUT
2
5 10
Bài 47. Xoáy ốc fibonacci
Ma trận xoáy ốc nguyên tố cấp N là ma trận vuông có N*N phần tử. Các số
được điền vào ma trận theo chiều kim đồng hồ đều là các số thuộc dãy fibonacci
từ nhỏ đến lớn
INPUT
3
OUTPUT
011
13 21 2
853
Bài 48. Liệt kê và đếm số lần xuất hiện của các phần tử trong mảng
41
[CLB Lập trình Full House]
Viết chương trình C cho phép nhập vào mảng một chiều n phần tử (n>1) và
thực hiện in ra các phần tử cùng số lần xuất hiện của chúng trong mảng
Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng
Hàng thứ hai là các phần tử của mảng
INPUT
7
2332195
OUTPUT
22
32
11
91
51
Bài 49. Đếm và in ra các phần tử là số chẵn và số lẻ trong mảng
Viết chương trình C cho phép nhập vào mảng A gồm n phần tử số nguyên
(n>2). Đếm và in ra các phần tử là số chẵn và lẻ trong mảng.(nếu không có
số nào thỏa mãn thì in ra 0) Trong đó: INPUT
- Dòng đầu tiên là số phần tử của mảng
- Dòng thứ hai là các phần tử của mảng
42
[CLB Lập trình Full House]
OUTPUT
- Dòng đầu tiên là số phần tử thỏa mãn là số lẻ và liệt kê
- Dòng thứ hai là số phần tử thỏa mãn là số chẵn và liệt kê
INPUT
7
2 5 8 1 5 12 11
OUTPUT
4 5 1 5 11
3 2 8 12
Bài 50. Đảo ngược mảng.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1).
Thực hiện đảo ngược mảng và in ra kết quả. Trong đó: INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
INPUT
5
12345
OUTPUT
54321
Bài 51. Tách mảng chẵn lẻ.
43
[CLB Lập trình Full House]
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1).
Thực hiện tách mảng đã cho thành mảng các số chẵn và mảng các số lẻ.
Trong đó: INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
OUTPUT
Hàng thứ nhất là mảng các số chẵn
Hàng thứ hai là mảng các số lẻ
INPUT
5
12345
OUTPUT
24
135
Bài 52. Sắp xếp tăng dần các phần tử chẵn và lẻ trong mảng.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1).
Thực hiện sắp xếp tăng dần các phần tử chẵn và lẻ của mảng và In ra.
Trong đó: INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
OUTPUT
44
[CLB Lập trình Full House]
Mảng kết quả
INPUT
8
13829765
OUTPUT
26813579
Bài 53. Chèn một mảng vào mảng tại vị trí P
Viết chương trình C cho phép nhập vào mảng A một chiều n phần tử (n>1) và
mảng B một chiều m phần tử (m>1). Thực hiện chèn mảng B vào mảng A tại vị
trí P và in ra mảng kết quả Trong đó:
-INPUT:
Hàng thứ nhất là số phần tử của mảng A và mảng B
Hàng thứ hai là các phần tử của mảng A
Hàng thứ ba là các phần tử của mảng B
Hàng thứ tư là vị trí chèn
INPUT
53
12345
678
3
OUTPUT
45
[CLB Lập trình Full House]
12367845
Bài 54. Sắp giảm.
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1).
Thực hiện sắp xếp giảm dần các phần tử của mảng và In ra. Trong đó:
INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
OUTPUT
Mảng kết quả
INPUT
8
13829765
OUTPUT
98765321
Bài 55. Chuyển 2 cột.
Viết chương trình C cho phép nhập vào ma trận nguyên dương cấp M*N.
Chuyển đổi hai cột a và b trong ma trận và in ra kết quả.
Trong đó:
INPUT
- Hàng thứ nhất là cấp m,n của ma trận
- m hàng tiếp theo là các phần tử của ma trận
46
[CLB Lập trình Full House]
- Hàng cuối cùng là vị trí cột cần chuyển đổi
OUTPUT
- Ma trận kết quả
INPUT
33
123
456
789
13
OUTPUT
321
654
987
Bài 56. Chuyển đổi hai đường chéo trong ma trận vuông.
Viết chương trình C cho phép nhập vào ma trận vuông các số nguyên dương
cấp M. Thực hiện chuyển đổi hai đường chéo của ma trận và in ra ma trận
kết quả. Trong đó: INPUT
- Hàng thứ nhất là cấp m của ma trận
- m hàng tiếp theo là các phần tử của ma trận
OUTPUT
- Ma trận kết quả
47
[CLB Lập trình Full House]
INPUT
3
123 4
56
789
OUTPUT
321
456
987
Bài 57. Chuyển đổi 2 hàng.
Viết chương trình C cho phép nhập vào ma trận nguyên dương cấp M*N.
Chuyển đổi hai hàng a và b trong ma trận và in ra kết quả.
Trong đó:
INPUT
- Hàng thứ nhất là cấp m,n của ma trận
- m hàng tiếp theo là các phần tử của ma trận
- Hàng cuối cùng là vị trí hàng cần chuyển đổi
OUTPUT
- Ma trận kết quả
INPUT
33
48
[CLB Lập trình Full House]
123 4
56
789
13
OUTPUT
789
456
123
Bài 58. Tìm tổng 2 ma trận.
Viết chương trình C cho phép nhập vào hai ma trận A và B có cùng số hàng và
số cột là n và m.
Tìm ma trận tổng của ma trận A và ma trận B, in ra
màn hình. Trong đó: INPUT
- Hàng thứ nhất là số hàng và số cột của hai ma trận
- Các hàng tiếp theo là các phần tử của ma trận A và ma trận
B OUTPUT
- Ma trận tổng kết quả
INPUT
33
123
456
789
49
[CLB Lập trình Full House]
345
678
123
OUTPUT
468
10 12 14
8 10 12
Bài 59. Sắp xếp tăng dần các phần tử của mảng theo thuật toán nổi bọt
(bubble sort)
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1). Thực
hiện sắp xếp tăng dần các phần tử của mảng theo thuật toán nổi bọt và In ra.
Lưu ý: chương trình dừng lại khi mảng đã thỏa mãn tăng
dần. Trong đó: INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
OUTPUT
Kết quả các bước sắp xếp theo thuật toán
INPUT
8
13829765
OUTPUT
50
[CLB Lập trình Full House]
13287659 1
2376589 12
365789
12356789
Bài 60. Sắp xếp tăng dần các phần tử của mảng theo thuật toán chèn
(insertion sort)
Viết chương trình C cho phép nhập vào mảng A gồm n phần tư (n>1). Thực
hiện sắp xếp tăng dần các phần tử của mảng theo thuật toán chèn và In ra.
Trong đó: INPUT
Hàng thứ nhất là số phần tử n của mảng A
Hàng thứ hai là các phần tử của mảng A
OUTPUT
Kết quả các bước sắp xếp theo thuật toán
INPUT
8
13829765
OUTPUT
13829765 1
3829765 12
389765 123
89765 1237
51
[CLB Lập trình Full House]
8965 12367
895
12356789
52
Download