[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