ttrr11
#include<conio.h>
#include<stdio.h>
#include<math.h>
int n,s[100];
void print();
void thu();
void ktra1();
void ktra2();
main()
{ clrscr();
printf(" Nhap n="); scanf("%d",&n);
printf("a/ Xau nhi phan co do dai %d
",n);
thu();
printf("
b/ Xau nhi phan ko co 2 bit 0 ke nhau
");
ktra1();
printf("
c/ Xau nhi phan co it nhat 2 bit 0 ke nhau
");
ktra2();
getch();
}
void print()
{ int i;
for(i=1;i<=n;i++) printf("%d",s[i]);
printf("\t");
}
void thu()
{ int i,j,dem,p;
p=pow(2,n);
for(i=1;i<=n;i++) s[i]=0;
print();
for(dem=2;dem<=p;dem++)
{ i=n; while(s[i]==1) i--;
s[i]++;
for(j=i+1;j<=n;j++) s[j]=0;
print();
}
printf("
Co %d xau",p);
}
void ktra1()
{ int i,j,dem,kt,k=0;
for(i=1;i<=n;i++) s[i]=0;
for(dem=2;dem<=pow(2,n);dem++)
{ kt=0;
i=n; while(s[i]==1) i--;
s[i]++;
for(j=i+1;j<=n;j++) s[j]=0;
for(i=1;i<n;i++)
if(s[i]==0&&s[i+1]==0) kt++;
if(kt==0)
{ k++;
print();
}
}
printf("
Co %d xau",k);
}
void ktra2()
{ int i,j,dem,kt,k=1;
for(i=1;i<=n;i++) s[i]=0;
print();
for(dem=2;dem<=pow(2,n);dem++)
{ kt=0;
i=n; while(s[i]==1) i--;
s[i]++;
for(j=i+1;j<=n;j++) s[j]=0;
for(i=1;i<n;i++)
if(s[i]==0&&s[i+1]==0) kt++;
if(kt!=0)
{ k++;
print();
}
}
printf("
Co %d xau",k);
}
Bạn đang đọc truyện trên: AzTruyen.Top