giải thuật đệ quy, hoán vị
Lập trình liệt kê các xâu tạo bởi hoán vị của các chữ cái A,B,C,D,E,F mà trong đó có chứa xâu DEF.
Ngoài ra có thể tham khảo thêm bài :
Bài 2: Liệt kê các xâu tạo bởi hoán vị của các chữ A,B,C,D,E,F mà D,E,F đứng cạnh nhau.
http://www.nguyenvandung.net/2014/12/liet-ke-cac-xau-tao-boi-hoan-vi-cua-cac.html
Ngoài ra có thể tham khảo thêm bài :
Bài 2: Liệt kê các xâu tạo bởi hoán vị của các chữ A,B,C,D,E,F mà D,E,F đứng cạnh nhau.
http://www.nguyenvandung.net/2014/12/liet-ke-cac-xau-tao-boi-hoan-vi-cua-cac.html
Bài sử dụng giải thuật đệ quy quay lui.
Code c/c++
#include <stdio.h>
#include <conio.h>
char s[5]="ABCX",a[5];
int b[7],dem=0;
void xuat()
{
char c[7];
int i=0,j=0;
c[6]=NULL;
while(a[i]!=NULL)
{
if (a[i]=='X')
{
c[j]='D';
c[j+1]='E';
c[j+2]='F';
j=j+3;
}
else
{
c[j]=a[i];
j++;
}
i++;
}
dem++;
printf("\n%d",dem);
printf("\n%s",c);
}
void hoanvi(inti)
{
for(intj=0;j<4;j++)
if (b[j])
{
a[i]=s[j];
if (i==3) xuat();
else
{
b[j]=0;
hoanvi(i+1);
b[j]=1;
}
}
}
int main()
{
a[4]=NULL;
for(inti=0;i<6;i++) b[i]=1;
hoanvi(0);
getch();
}
Mong các bạn góp ý ở phía dưới. Nhớ bấm G+ ủng hộ nguyenvandung.net
No comments:
Post a Comment