分类:
2006-07-30 18:26:54
CODE: #include
分析:#include void change(bool a[],int size,int index); const int size=6; void main() { bool a[size]; int Right=0; char ch='A'; for (int i=0;i if ((a[0] && a[1])==false) continue; if (a[0]+a[4]+a[5]!=2) continue; if (a[1]+a[2]==1) continue; if (a[0]+a[3]!=1) continue; if (a[2]+a[3]!=1) continue; if (a[3]==false && a[4]==true) continue; break; } for (i=0;i } } void change(bool a[],int size,int index) { for (int i=0;i if (index>=pow(2,size)) return; i=size-1; while (index>0) { a[i]=index % 2; index=index/2; i--; } } (1) (A+B-1)(A+B-2)=0 (2) A+E+F = 2 (3) (B+C)(B+C-2)=0 (4) A+D=1 (5) C+D=1 (6) (D^2+E^2)(D-1)=0 (4) - (5) ==> A=C, 代入 (3) 得到 (A+B)(A+B-2) = 0 再与 (1) 比较,知道 A+B-2 = 0 ==> A=B=1 ==> A=B=C=1 ==> D=0 ==> E=0 ==> F=1 A=B=C=F=1, D=E=0 关于change函数的作用,是生成所有的可能,共pow(2,size)种。 跟进去看就知道了,index是0到2的6次方,假设index是7,循环地%2和/2,得到一组数组,1 1 1,其实就是7的2进制,不同的index代表不同的2进制,那也就是不同的数组 |