(1)A、B 至少有一人作案;
(2)A、E、F 三人中至少有两人参与作案;
(3)A、D 不可能是同案犯;
(4)B、C 或同时作案,或与本案无关;
(5)C、D 中有且仅有一人作案;
(6)如果 D 没有参与作案,则 E 也不可能参与作案。
试编一程序,将作案人找出来。
一、向数字转换
1.分析
2.代码
#include <stdio.h>
int main(){
int a,b,c,d,e,f;
for(a=0;a<=1;a++){
for(b=0;b<=1;b++){
for(c=0;c<=1;c++){
for(d=0;d<=1;d++){
for(e=0;e<=1;e++){
for(f=0;f<=1;f++){
if(a+b>=1 && a+e+f>=2 && a+d<=1 && b==c && (c+d)==1 && d>=e){
printf("%d %d %d %d %d %d \n",a,b,c,d,e,f);
}
}
}
}
}
}
}
}
3.结果
二、向逻辑转换
#include <stdio.h>
int main(){
int a,b,c,d,e,f;
int l1,l2,l3,l4,l5,l6;
for(a=0;a<=1;a++){
for(b=0;b<=1;b++){
for(c=0;c<=1;c++){
for(d=0;d<=1;d++){
for(e=0;e<=1;e++){
for(f=0;f<=1;f++){
l1=a||b;
l2=a&&e||a&&f||e&&f;
l3=(a&&d)==0;
l4=b==c;
l5=c!=d;
l6=d||!e;
if(l1+l2+l3+l4+l5+l6==6){
printf("%d %d %d %d %d %d \n",a,b,c,d,e,f);
}
}
}
}
}
}
}
}
运行结果同上。