trrb12
#include<conio.h>
#include<stdio.h>
#include<math.h>
int n,a[20];
void print();
void Try();
void test1();
void test2();
main()
{ clrscr();
printf("Bai 1.2:
Chuong trinh liet ke cac xau nhi phan
do dai n nhu yeu cau cua Bai 1.1
liet ke co thu tu de kiem tra cac ket qua dem duoc
Thu nhap voi nhieu gia tri n khac nhau
");
printf("Nhap do dai xau nhi phan n= ");
scanf("%d",&n);
printf("Ket qua
");
printf("Xau nhi phan co do dai %d
",n);
Try();
if(n>1)
{ printf("
Xau khong co 2 bit 0 ke nhau
");
test1();
printf("
Xau co it nhat 2 bit 0 ke nhau
");
test2();
}
else
{ printf("Co 2 xau khong co hai bit 0 ke nhau: 0 va 1
");
printf("Khong co xau nhi phan co it nhat 2 bit 0 ke nhau
");
}
getch();
}
void print()
{ int i;
for(i=1;i<=n;i++)
printf("%d",a[i]);
printf("\t");
}
void Try()
{ int i,j,dem=1;
for(i=1;i<=n;i++)
a[i]=0;
printf("%2d,",dem);
print();
for(dem=2;dem<=pow(2,n);dem++)
{i=n;
while(a[i]==1)i--;
a[i]++;
for(j=i+1;j<=n;j++)
a[j]=0;
printf("%2d,",dem);
print();
if(dem%3==0)printf("
");
}
}
void test1()
{ int i,j,dem=1,kt,k=0;
for(i=1;i<=n;i++)a[i]=0;
for(dem=2;dem<=pow(2,n);dem++)
{ kt=0;
i=n;
while(a[i]==1)i--;
a[i]++;
for(j=i+1;j<=n;j++)a[j]=0;
for(i=1;i<n;i++)
if(a[i]==0&&a[i+1]==0)kt++;
if(kt==0)
{ k++;
printf("%2d,",k);
print();
if(k%3==0)printf("
");
}
}
printf("
Co %d xau",k);
}
void test2()
{ int i,j,dem,kt,k=1;
for(i=1;i<=n;i++)a[i]=0;
printf("%2d,",k);
print();
for(dem=2;dem<=pow(2,n);dem++)
{ kt=0;
i=n;
while(a[i]==1)i--;
a[i]++;
for(j=i+1;j<=n;j++)
a[j]=0;
for(i=1;i<n;i++)
if(a[i]==0&&a[i+1]==0)kt++;
if(kt)
{k++;
printf("%2d,",k);
print();
if(k%3==0)printf("
");
}
}
printf("
Co %d xau",k);
}
Bạn đang đọc truyện trên: AzTruyen.Top