30/09/2018, 16:24
Hỏi về bài toán tổ hợp chập k của n phần tử sử dụng phương pháp đệ quy
Đề bài là tìm và xuất bộ cấu hình của tổ hợp chập k của n phần tử bất kỳ, thầy đã gợi ý cho em bài xuất cấu hình của tổ hợp chập k của n phần tử với n=1,2,…,n nhưng em làm mãi không ra , ai giúp em với ạ.
Đây là bài xuất cấu hình của tổ hợp chập k của n phần tử với n=1,2,…,n do thầy em gợi ý
#include<iostream.h>
void tohop(int i);
int x[1000];
int n,k;
int main()
{
cout<<"Nhap vao so phan tu n = ";cin>>n;
cout<<"Can lay to hop chap k = ";cin>>k;
tohop(1);
}
void xuat()
{
for (int i=1;i<=k;i++)
cout<<x[i]<<" ";
cout<<endl;
}
void tohop(int i)
{
for (int j=x[i-1]+1;j<=n-k+i;j++)
{
x[i]=j;
if (i==k) xuat();
else tohop(i+1);
}
}
Bài liên quan
Thuật toán đúng rồi. Bạn thay iostream.h = iostream thôi. Và using namespace std; thì mới sử dụng dc cin, cout
v làm sao để tìm tổ hợp chập k của bộ n số bất kỳ bạn. VD như n=4 có 4 ptử là 2 4 6 8 và k = 2 thì xuất ra 2 4, 2 6,…
Lúc đó mảng x là mảng chứa chỉ số cần xuất ra.
Giả sử mảng nhập vào là a, có n phần tử. Cần in ra tổ hợp k.
viết lại hàm xuất như sau.
Anh @ltd edit hộ em vs