有红、黄、黑、白4色球各一个,放置在编号为1,2,3,4的4个盒子里面,每个盒子一个球,顺序未知。甲、乙、丙三个人猜测放置顺序如下:
甲:黑球在1号盒子,黄球在2号盒子;
乙:黑球在2号盒子,白球在3号盒子;
丙:红球在2号盒子,白球在4号盒子;
结果证明:甲、乙、丙三人各猜中一半,试通过程序求出4色球在盒子中的放置位置。
public class Test3_2_ztk {
public static void main(String args[]){
int a,b,c,d;
for(a=1;a<5;a++){
for(b=1;b<5;b++){
for(c=1;c<5;c++){
if(a!=b&&b!=c&&a!=c){
d=10-a-b-c;
if((c==1^b==2)&&(c==2^d==3)&&(a==2^d==4)) //因为每个人的话就只有一半正确,所以利用异或进行并
{
System.out.println("红球在:"+a+"号盒子");
System.out.println("黄球在:"+b+"号盒子");
System.out.println("黑球在:"+c+"号盒子");
System.out.println("白球在:"+d+"号盒子");
}
}
}
}
}
}
}