这个问题,采用穷举法,用变量的值1代表是,变量的值0代表否。
下面是程序的代码和运行的结果。
#include
int main()
{ int a,b,c,d,e,f,n,t=0;
scanf("%d",&n);
for(a=1; a>-1; a--)
for(b=1; b>-1; b--)
for(c=1; c>-1; c--)
for(d=1; d>-1; d--)
for(e=1; e>-1; e--)
for(f=1; f>-1; f--)
if((a+b+c+d+e+f==1)&&(a==0)+(c==1)+(d==1)+(d==0)+(c+e==1)+(d+e==0)==n)
{ if(t)printf(" or ");
if(a)printf("A");
if(b)printf("B");
if(c)printf("C");
if(d)printf("D");
if(e)printf("E");
if(f)printf("F");
t=1;
}
printf("\n");
return 0;
}