实现下面的功能:甲、乙、丙、丁四个嫌疑人,只有1人为偷盗者。在审讯中,四人诚实或说谎都有可能。

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

代码:

public class 寻找窃贼
{/*** @param args*/public static void main(String[] args) {// 公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎。在回答公安人员的问题中:// 甲说:“乙没有偷,是丁偷的。”// 乙说:“我没有偷,是丙偷的。”// 丙说:“甲没有偷,是乙偷的。”// 丁说:“我没有偷”// 请根据这四人的谈话判断谁是盗窃者int a, b, c, d;// 穷举// 真为0,假为1for (a = 0; a < 2; a++)for (b = 0; b < 2; b++)for (c = 0; c < 2; c++)for (d = 0; d < 2; d++){if (b + d == 1 && b + c == 1 && a + b == 1&& a + b + c + d == 1){// 成立找到窃贼if (a == 1)System.out.println("小偷是甲\n");if (b == 1)System.out.println("小偷是乙\n");if (c == 1)System.out.println("小偷是丙\n");if (d == 1)System.out.println("小偷是丁\n");}}}
}

输出:

小偷是乙

Java编写,谁是窃贼—穷举相关推荐

  1. java获取数组穷举_被BAT疯抢的Java工程师,都是怎么拿到年薪50W的offer

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师. 那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之 ...

  2. Java实现穷举_LeetCode 28:实现strStr() Implement strStr()

    爱写bug(ID:icodebugs) 作者:爱写bug 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needl ...

  3. java 实现穷举算法

    参考:https://blog.csdn.net/changyuanchn/article/details/51417796 题目 /*** * [0-1背包问题]有一个背包,背包容量是M=150kg ...

  4. Java实现穷举_对数器实现(C++)

    主要参考左神的JAVA版的对数器实现,主要分为以下几个步骤: 产生随机数组或者字符串,本例产生随机数组 找一个绝对正确的方法,不管复杂度 对比自己实现的方法和绝对正确的方法的结果,若相同,则返回tru ...

  5. 关于Java穷举法对24点卡牌游戏规定时间内输入判断对错的程序

    24点游戏是经典的纸牌益智游戏. 常见游戏规则: 从扑克中每次取出4张牌.使用加减乘除,第一个能得出24者为赢.(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏. 随 ...

  6. 穷举法java_OpenJudge 4146:数字方格 java穷举法

    首先是题目描述: 描述 如上图,有3个方格,每个方格里面都有一个整数a1,a2,a3.已知0<=a1,a2,a3<=n,而且a1+a2是2的倍数,a2+a3是3的倍数,a1+a2+a3是5 ...

  7. java 穷举 排列组合,JavaScript递归穷举所有排列组合并找出重复值

    null export default { data() { return { resultArr:[] } }, mounted(){ this.sss('aaba','abac'); this.s ...

  8. java获取数组穷举_递归算法求解遍历(或穷举)问题

    递归算法求解遍历(或穷举)问题 递归问题可以理解为遍历问题,必须遍历出所有的数据来,才能进行相应的运算,比如Fibonacci问题.阶乘问题,必须把每一步的值都遍历出来,然后才能做加法或乘法. 递归算 ...

  9. java递归实现汉字组词穷举_01背包各种算法代码实现总结(穷举,贪心,动态,递归,回溯,分支限界)...

    2020-05-22 所有背包问题实现的例子都是下面这张图 01背包实现之--穷举法: 1.我的难点: (1)在用穷举法实现代码的时候,我自己做的时候认为最难的就是怎么将那么多种情况表示出来,一开开始 ...

最新文章

  1. java jersey使用总结_jersey使用指南
  2. linux 设计一个程序,要求打开文件 pass 所有者,第二章 Linux 文件操作
  3. OpenCV gapi模块OMZ文本检测的实例(附完整代码)
  4. rs232读取智能电表_没想到物联网电表这么智能!插卡预付费电表该升级了!
  5. Android MVC模式
  6. (转)OOP(面向对象编程)的几大原则
  7. 比特币、以太坊、瑞波币、万融链和区块链
  8. Swift 4.1带来条件一致性等语言上的提升
  9. 项目工程自动化 - OCLint
  10. webpack配置babel-loader
  11. RS232 RS485 串口 电平标准
  12. html弹出div弹窗
  13. Unity [hold on busy for 老长长时间的解决方法]
  14. 什么是程序?计算机时如何执行程序?
  15. 第十四章 使用SQL Shell界面(三)
  16. 20145124 《Java程序设计》第10周学习总结
  17. HDU 4533 威威猫系列故事――晒被子(线段树区间更新+分情况推公式)
  18. 解决git时出现error: src refspec master does not match any问题
  19. arcgis10.8深度学习介绍课程梳理
  20. MAU: A Motion-Aware Unit for Video Prediction andBeyond学习记录

热门文章

  1. 单片机程序配置成开漏输出_改变单片机IO口默认电平
  2. JDBC查询所有记录打印到控制台上
  3. 2021备战金三银四血拼一波算法:字节+百度,java编程教程视频
  4. 中国公路养护行业规划建议及项目经济效益分析报告2022-2028年版
  5. vue.js获取数据库数据
  6. mysql(通用语法)
  7. android_基础_BigDecimal 更精准的计算
  8. Telink BLE EVK工具使用
  9. tp5.1微信登录(微信开放平台)
  10. 关于Vue2中使用vuex,页面不显示内容,控制台报以下错误的问题