公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎。在回答公安人员的问题中:
甲说:“乙没有偷,是丁偷的。”
乙说:“我没有偷,是丙偷的。”
丙说:“甲没有偷,是乙偷的。”
丁说:“我没有偷”
请根据这四人的谈话判断谁是盗窃者

首先我们假设甲是贼:

此时甲说:乙没有偷,这句为真,但是丁偷的是假话。那么,甲说的话里边,就一句为真一句为假,不符合我们题目当中所说,每个人说的话全为真,或者全为假的要求。所以甲可以确定,肯定不是贼。

那么下来,我们假设乙是贼:

甲说的”乙没有偷,是丁偷的。” 这两句话就全是假话,按照题意逻辑就完全没有问题了。

再来看乙说的,“我没有偷,是丙偷的。”显然,这两句话也全是假话,符合题意的逻辑。

再来看丙说的话,“甲没有偷,是乙偷的。”如果乙是贼,这两句话就成了真话了,所以也符合题的逻辑,

最后我们看丁说的话,“我没有偷。”当然,就这一句话也是真话的,所以也符合题逻辑。

好那么通过,假设,甲乙丙丁,其中一个人是贼,然后判断,四个人说的话,是全真还是全假,就可以得到,我们的结果了,答案是,乙是贼

public class WhoIsTheThief {public static void main(String[] args) {for (int i = 0; i < 4; i++) {// 第一次循环赋甲为贼  第二次赋乙为贼...boolean[] isthief = { false, false, false, false };isthief[i] = true;           //题目说每个人的话要么全为真   要么全为假   //所以有两种可能   所以只要符合一句话全为真或全为假就可以  //所以一句话表示为全为真  和  全为假两种形式   用或连接   足以符合题目要求//最后还得符合四句话   所以 将他们用户&&连接   必须符合题目的四个条件if (((!isthief[1] && isthief[3]) || (isthief[1] && !isthief[3])) && // 甲说:“乙没有偷,是丁偷的。”((!isthief[1] && isthief[2]) || (isthief[1] && !isthief[2])) && // 乙说:“我没有偷,是丙偷的。”((!isthief[0] && isthief[1]) || (isthief[0] && !isthief[1])) && // 丙说:“甲没有偷,是乙偷的。”(!isthief[3] || isthief[3])) { // 丁说:“我没有偷”switch (i) {case 0:System.out.println("甲是贼");break;case 1:System.out.println("乙是贼");break;case 2:System.out.println("丙是贼");break;case 3:System.out.println("丁是贼");break;default:break;}}}}
}

谁是窃贼(逻辑推理题)相关推荐

  1. 逻辑推理题-用C++实现(1)--谁是窃贼

    1.题目:谁是窃贼 公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的.在回答公安人员的问题中: 甲说:"乙没有偷,是丁偷的.&quo ...

  2. C语言逻辑推理题谁是凶手

    C语言逻辑推理题谁是凶手 假定一个岛上住着三类人:骑士.无赖和普通人(也称为间谍).骑士总是说真话,无赖总是说假话,普通人有时说谎话有时说真话.侦探为了调查一宗罪案,而询问了岛上的三个人,小An,小Z ...

  3. 逻辑推理与判断(谁是窃贼)

    /**************************************** * File Name : reasoning.c * Creat Data : 2015.1.26 * Autho ...

  4. C语言每日一练——第73天:谁是窃贼问题

    C语言每日一练 202年1月8日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的 ...

  5. 互联网公司笔试-逻辑推理题及解答【精选100道】

    互联网公司笔试-逻辑推理题及解答[精选100道] [1]假设有一个池塘,里面有无穷多的水.现有2个空水壶,容积分别为5升和6升.问题是如何只用这2个水壶从池塘里取得3升的水. 由满6向空5倒,剩1升, ...

  6. 100个python算法超详细讲解:谁是窃贼

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃 贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎. 下面是这4个人给警察 ...

  7. c语言 编程谁是小偷,C语言谁是窃贼问题代码及解析

    问题描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎. 这4个人给警察的回答如下. 甲说:"乙没有偷,是丁偷的." ...

  8. 面试、逻辑推理题(一) 诚实者问题、财富问题、病狗问题

    关于逻辑推理题:诚实者问题,财富问题,病狗问题的解题思路和回答,如果有更好的方法或者有质疑请评论提出,欢迎大家发表不同的见解供我学习参考,谢谢 ps:如果有一些有趣的逻辑题也可以告诉我哦 1. 诚实者 ...

  9. python考试编程题九道_一道逻辑推理题的程序实现(纯属娱乐)

    一份逻辑推理题的程序求解(纯属自娱自乐) 闲来无聊,看到QQ空间上转载了一份变态推理题的,至少表示我看了十多分钟无处下手,认识的人中有大神居然真的做出来了...我不知道他是们那么做的,不过作为编程爱好 ...

最新文章

  1. eclipse 中文件引用报错不能编译,但引用文件确实存在
  2. 清华计算机系和交叉信息学院,清华大学交叉信息研究院与计算机科学与技术系哪个..._考研_帮考网...
  3. 哈萨比斯首次解读AlphaZero竟被当场diss,他起身当面回击说…
  4. 语言阿克曼函数_函数式的动态规划
  5. 你知道IT行业里哪种岗位女生最多吗?
  6. 基于OpenCV全景图像拼接
  7. google地图网页版_谷歌收录查询方法大全,如何让Google快速收录网页?
  8. C语言关键字浅析-case
  9. Myeclipse 10破解run.bat和cracker.jar打不开的问题
  10. 求x的n次方编程_c语言求x的n次方的函数介绍
  11. 猫、路由器和交换机的区别和联系
  12. python中for怎么无限循环_Python中无限循环有什么条件
  13. python 定义一个迭代器去生成偶数数列
  14. FIL存储服务器订单系统,开源存储系统Slate构建FIL检索市场
  15. 【正点原子FPGA连载】第十二章呼吸灯实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  16. MATLAB代码:新能源接入的电力市场主辅联合出清 出清模型以考虑安全约束的机组组合模型(SCUC)和经济调度模型(SCED)组成
  17. 电商平台-商品表的设计
  18. makehuman导出MD5
  19. ubuntu10.04安装网络电视SopCast Player
  20. 用简单的例子解释量子纠缠

热门文章

  1. 荣耀30可以升级鸿蒙系统,惊喜!荣耀手机也能升鸿蒙:这5款机型用户有福了
  2. mysql采集方式_数据采集的几种方法
  3. java h265_2019-04-19 使用FFMPEG 解码HEVC(H265)
  4. win10系统mongodb 5.0安装配置+自动启动
  5. 别再眼红别人家的年终奖了,这才是大多数人的现状!
  6. 《Android Studio开发实战》学习(二)- 聊天室
  7. 【Redis】主从复制
  8. Magento的订单相关的SQL(订单编号、创建时间、总金额、收货人、收货人地址、收货人城市、州或省(简称)、收货邮编、收货人电话、付款人邮箱)
  9. JS对DOM节点的操作--增加节点,删除节点
  10. Python优秀函数库集锦(二)