六嫌疑犯的逻辑判断题

/**    
* 某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析: <br>    
* A、B至少有一人作案;<br>    
* A、E、F三人中至少有两人参与作案;<br>    
* A、D不可能是同案犯;<br>    
* B、C或同时作案,或与本案无关; C、D中有且仅有一人作案;<br>    
* 如果D没有参与作案,则E也不可能参与作案。<br>    
* 试编一程序,将作案人找出来。    
*    
* @author 赵学庆,Java世纪网(java2000.net)    
*    
*/    
public class T {    
     public static void main(String[] args) {    
         // TODO Auto-generated method stub    
        String[] persons = { "A", "B", "C", "D", "E", "F" };    
         for ( int i = 0; i <= 63; i++) {    
             int t = i;    
             int num[] = new int[6];    
             int j = 5;    
             for (; j >= 0; j--) { // 换成二进制数码,保存在一个6个元素的一维数组中    
                 if (t / 2 > 0) {    
                    num[j] = t % 2;    
                    t = t / 2;    
                } else {    
                    num[j] = t;    
                     break;    
                }    
            }    
             // num[0]--num[5]代表A--F    


             // 代表AB至少有一个人作案    
             if (num[0] + num[1] >= 1) {    
                 // AEF 至少2个人作案    
                 if (num[0] + num[4] + num[5] >= 2) {    
                     // AD 不是同案犯。但可能都没作案或其中一个作案    
                     if (num[0] + num[3] <= 1) {    
                         // BC 同时作案,或者同时没作案    
                         if ((num[1] + num[2] == 0 || num[1] + num[2] == 2)) {    
                             // CD肯定有一个人作案了    
                             if (num[2] + num[3] == 1) {    
                                 // 如果D没作案且E也没作案,或者 D作案了了    
                                 if (num[3] == 0 && num[4] == 0 || num[3] == 1)    
                                     for ( int index = 0; index < num.length; index++) {    
                                         if (num[index] == 1) {    
                                            System.out.print(persons[index]);    
                                        }    
                                    }    
                            }    
                        }    
                    }    
                }    
            }    


        }    


    }    


}

你可能感兴趣的:(职场,休闲,逻辑问题)