首页 > 其他 > 详细

侦探题

时间:2019-04-15 16:26:27      阅读:78      评论:0      收藏:0      [点我收藏+]

例:三位老师对某次数学竞赛进行了预测,他们的预测如下:

  甲:学生A得了第一名,学生B得第三名。

  乙:学生C得了第一名,学生D得第四名。

  丙:学生D得了第二名,学生A得第三名。

结果表明,他们都说对了一半,说错了一半,并且无并列名词,输出A、B、C和D各自的名词。

技术分享图片
 1 public class demo {
 2     public static void main(String[] args) {
 3         int a,b,c,d;//代表四个学生
 4         boolean x1,x2,x3;//代表三位老师
 5          for(a=1;a<=4;a++){
 6              for(b=1;b<=4;b++) {//a,b,c,d的值不能相同,并且a+b+c+d的值为1+2+3+4=10;
 7 
 8                  if(a==b) continue;
 9                  for(c=1;c<=4;c++) {
10                      if(a==c) continue;
11                      if(b==c) continue;
12                      d=10-a-b-c;
13                      x1=(a==1)^(b==3);//代表三位老师说的话有一句是正确的,用亦或来表示
14                      x2=(c==1)^(d==4);
15                      x3=(d==2)^(a==3);
16                      if(x1==true&&x2==true&&x3==true)
17                          System.out.println(a+" "+b+" "+c+" "+d);
18                      }
19                  }
20          }                                         
21     }
22 }
View Code

 

侦探题

原文:https://www.cnblogs.com/qq396986862/p/10711256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!