Em hãy lập trình, nhập vào một từ gồm các chữ cái khác nhau, liệt kê ra tất cả

Giải Chuyên đề Tin học 11 Bài 3: Thực hành kĩ thuật quay lui - Cánh diều

Vận dụng trang 62 Chuyên đề Tin học 11: Em hãy lập trình, nhập vào một từ gồm các chữ cái khác nhau, liệt kê ra tất cả các hoán vị của các chữ cái đó. Chạy thử nghiệm với các bộ dữ liệu ở Bảng 1.

Quảng cáo

Lời giải:

#define MAX 20

using namespace std;

int n;

int Bool[MAX] = { 0 };//Đánh dấu chưa có phần tử nào sử dụng hết

int A[MAX];//Lưu hoán vị vào mảng A

void xuat() {

for (int i = 1; i <= n; i++)

cout << A[i] << " ";

cout << endl;

}

void Try(int k) {

for (int i = 1; i <= n; i++) {

//Kiểm tra nếu phần tử chưa được chọn thì sẽ đánh dấu

if (!Bool[i]) {

A[k] = i; // Lưu một phần tử vào hoán vị

Bool[i] = 1;//Đánh dấu đã dùng

if (k == n)//Kiểm tra nếu đã chứa một hoán vị thì xuất

xuat();

else

Try(k + 1);

Bool[i] = 0;

}

}

}

int main() {

cout << "Mhap n: ";

cin >> n;

Try(1);

}

Quảng cáo

Xem thêm lời giải bài tập Chuyên đề học tập Tin học 11 Cánh diều hay, ngắn gọn khác:

Săn SALE shopee Tết:

ĐỀ THI, GIÁO ÁN, SÁCH LUYỆN THI DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 11

Bộ giáo án, bài giảng powerpoint, đề thi, sách dành cho giáo viên và gia sư dành cho phụ huynh tại https://tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official

Tổng đài hỗ trợ đăng ký : 084 283 45 85

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.


Giải bài tập lớp 11 sách mới các môn học
Tài liệu giáo viên