Tìm Tất Cả Các Tập Con Của Dãy N Phần Tử Trang chủ » Thuật Toán Liệt Kê Tập Con » Tìm Tất Cả Các Tập Con Của Dãy N Phần Tử Có thể bạn quan tâm Thuật Toán Liệt Kê Thường Dùng Là Thuật Toán Liệt Kê Tin Học 10 Thuật Toán Liệt Kê Tổ Hợp Thuật Toán Lru Sẽ Không Hiệu Quả Khi Thuật Toán Lùa Bò Vào Chuồng Tìm tất cả các tập con của dãy n phần tử programming c++ nguyenquibk1996 (Ngoc Qui) March 17, 2017, 11:55am #1 Em có bài toàn này mong mọi người giúp đỡ Lập trình C++ TÌM TẤT CẢ CÁC TẬP CON CỦA DÃY N PHẦN TỬ VỚI N NHẬP TỪ BÀN PHÍM: 1, 2, 3, …, n rogp10 (rogp10) March 17, 2017, 12:02pm #2 Bài này là bài kinh điển của quay lui/pp sinh, bạn chịu khó google nhé nhiều lắm. 1 Like nguyenquibk1996 (Ngoc Qui) March 17, 2017, 2:31pm #3 mình tìm 1 lúc rồi mà k thấy source code cho bài toán này, bạn biết ko cho mình xin để đọc Nguyen_Thanh_Hai (Wake Of GOD) March 17, 2017, 3:09pm #4 Có phải bài này là liệt kê ra tập con k của n phần tử ( k <= n ) không? Bạn có thể tham khảo: Simple Code C Java: [Bài toán] Liệt kê tập con của tập n phần tử. bài toán, anhhuu (Phạm Minh Anh Hữu) March 17, 2017, 3:52pm #5 Bài này đúng ra phải là tìm tất cả các tập con k phần tử từ n phần tử chứ, còn như đề của bạn thì chỉ có 1 tập con duy nhất là: 1, 2, 3,..., n Và với đề đó, làm theo phương pháp sinh thì: #include <iostream> int main() { int *element= NULL; //Mảng lưu cấu hình int n, k; std::cout << "Nhap n: "; std::cin >> n; std::cout << "Nhap k: "; std::cin >> k; element= new int[k]; for(int j = 0; j < k; j++) element[j] = j+1; //Set cấu hình ban đầu là 1,2,...,k std::cout << "Cac tap con la:\n"; int index = 0; do { for(int j = 0; j < k; j++) std::cout << element[j]; //In tập con vừa tìm được std::cout << std::endl; index = k-1; //Đoạn bên dưới là sinh các tập hợp theo thứ tự từ điển while((index >= 0) && (element[index] == n - k + index + 1)) index--; if(index >= 0) { element[index]++; for(int j = index+1; j < k; j++) element[j] = element[j-1] + 1; } }while (index != -1); delete[] element; return 1; } 1 Like Liệt kê các mảng con có ít nhất k phần tử anhhuu (Phạm Minh Anh Hữu) March 17, 2017, 3:54pm #6 Các thuật toán kiểu này bạn nên đọc trong quyển Giải Thuật Và Lập Trình - Lê Minh Hoàng 1 Like Quan_Nguyen_Dinh (Học AI.) March 19, 2021, 2:43pm #8 dù biết bài hỏi lâu rồi nhưng vẫn để code của mình ở đây cho các bạn đến sau tham khảo: #include <stdio.h> void try(int i, int m, int *s, int n) { int z; for(z=s[i-1] + 1; z<=n; z++) { s[i] = z; if(i==m) { int k; for(k=1; k<=m; k++) { printf("%d", s[k]); } printf("\n"); } else { try(i+1, m, s, n); } } } int main() { int n; printf("Nhap n: "); scanf("%d", &n); int s[n+1]; s[0] = 0; int i; for(i=0; i<=n; i++) { printf("Cac tap con %d phan tu la:\n", i); try(1, i, s, n); printf("\n"); } return 0; } 2 Likes Anh_Vo_Van_Huynh (Anh Võ Văn Huỳnh) January 18, 2024, 10:05am #9 //tim tat ca tap con n vd: 0 1 2 => {0}; {1} ; {2} ; {0, 1} ; {0, 2} ; {1, 2} ; {0; 1; 2} #include <iostream> using namespace std; int n; int x[100]; int a[100]; int b[100]; void Printf(int k) { for (int i = 1; i <= k; ++i) { cout<<x[i]<<" "; } cout<<endl; } void Try(int i) { for (int j = i; j <= n; ++j) { if(b[j]==true) { x[i] = a[j]; b[j] = false; if(i==i)Printf(i); Try(i+1); if(i!= 1) b[j]=true; } } } int main() { fill(b,b+sizeof(x)/sizeof(x[0]),1); cin>>n; for (int i = 1; i <= n; ++i) { cin>>a[i]; } Try(1); return 0; } DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Thuật Toán Liệt Kê Tập Con Phương Pháp Sinh - Liệt Kê Các Tập Con K Phần Tử Từ 1 đến N Thuật Toán Sinh Kế Tiếp – 3.Bài Toán Liệt Kê Các Tập Con M Phần Tử ... Liệt Kê Các Tập Con K Phần Tử Của Tập N Phần Tử Bằng Thuật Toán Back ... Bài Toán Liệt Kê Các Tập Con M Phần Tử Của Tập N Phần Tử Liệt Kê Các Tập Con K Phần Tử - TITYTUS BÀI TOÁN LIỆT KÊ - Tài Liệu Text - 123doc [PDF] BÀI TOÁN LIỆT KÊ Giải Thuật Và Lập Trình: §2. Phương Pháp Sinh (GENERATION) [PDF] BÀI 3: BÀI TOÁN LIỆT KÊ TỔ HỢP - Topica Thuật Toán Liệt Kê Tất Cả Các Dãy Con K Phần Tử Của 1, 2,… N (k ≤ N ... Bài 2. Tập Con Kế Tiếp(Phương Pháp Sinh) - YouTube [PDF] Bài Toán Liệt Kê [PDF] Cấu Trúc Dữ Liệu Và Thuật Giải - Đại Học Lạc Hồng