逻辑推理与判断(谁是窃贼)
/****************************************
* File Name : reasoning.c
* Creat Data : 2015.1.26
* Author : ZY
*****************************************/ /*逻辑推理与判断*/
/*谁是窃贼*/
/*公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼
,还知道这四个人中每人要么是诚实的要么是说谎的,在回答公安人
员的问题中:
甲说:“乙没有偷,是丁偷的” 诚实b == 0&&d == 1 说谎b == 1&&d == 0 b+d == 1
乙说:“我没有偷,是丙偷的” 诚实b == 0&&c == 1 说谎b == 1&&c == 0 b+c == 1
丙说:“甲没有偷,是乙偷的” 诚实a == 0&&b == 1 说谎a == 1&&b == 0 a+b == 1
丁说:“我没有偷” 诚实d == 0 说谎d == 1 a+b+c+d == 1 */ /*方法一*/
#include <stdio.h>
int main(void)
{int a,b,c,d;for(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)){printf("A %sis the thief.\n",a?"":"not ");printf("B %sis the thief.\n",b?"":"not ");printf("C %sis the thief.\n",c?"":"not ");printf("D %sis the thief.\n",d?"":"not ");}}}}}return 0;
}
/*方法二*/
#include <stdio.h>
int main(void)
{int i,j,a[4],n;for(i = 0;i < 4;i++)//假定只有第i个人为窃贼{for(j = 0;j < 4;j++)//将第i个人设置为1表示窃贼,其余为0{if(j == i){a[j] = 1;}else{a[j] = 0;}}if(a[3]+a[1] == 1&&a[1]+a[2] == 1&&a[0]+a[1] == 1)//判断条件是否成立{printf("The thief is");for(j = 0;j < 4;j++){if(a[j]){printf(" %c.",j+'A');}}printf("\n");}}return 0;
}
逻辑推理与判断(谁是窃贼)相关推荐
- C语言每日一练——第73天:谁是窃贼问题
C语言每日一练 202年1月8日 文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 题目描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的 ...
- 100个python算法超详细讲解:谁是窃贼
[100个python算法超详细讲解]@谷哥技术 1.问题描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃 贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎. 下面是这4个人给警察 ...
- c语言 编程谁是小偷,C语言谁是窃贼问题代码及解析
问题描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎. 这4个人给警察的回答如下. 甲说:"乙没有偷,是丁偷的." ...
- 谁是窃贼(逻辑推理题)
公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎.在回答公安人员的问题中: 甲说:"乙没有偷,是丁偷的." 乙说:" ...
- 逻辑推理题-用C++实现(1)--谁是窃贼
1.题目:谁是窃贼 公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的.在回答公安人员的问题中: 甲说:"乙没有偷,是丁偷的.&quo ...
- Java编写,谁是窃贼—穷举
实现下面的功能:甲.乙.丙.丁四个嫌疑人,只有1人为偷盗者.在审讯中,四人诚实或说谎都有可能. 公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎 ...
- 逻辑问题 ---- 谁是窃贼
公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道 这四人中每人要么是诚实的,要么总是说谎的.在回答公安人员的问题中: 甲说:"乙没有偷,是丁偷的." 乙说 ...
- 用c语言程序判断谁是小偷
用c语言程序判断谁是小偷 题目: 警察局抓了a,b,c,d四名偷窃嫌疑犯,当中只有一个是小偷,审问结果如下: a说:"我不是小偷." b说:"c是小偷." c说 ...
- 逻辑推理与判断(谁在说谎)
/**************************************** * File Name : reasoning.c * Creat Data : 2015.1.26 * Autho ...
最新文章
- web api 二
- 《剑指offer》-- 序列化二叉树、二叉搜索树的第k个节点、数据流中的中位数、滑动窗口的最大值
- 菜鸟教程中Java语法(Java教程+Java面向对象)
- phpstorm配置xdebug 3.0教程
- Cause: java.io.IOException: Could not find resource com/itheima/po/CustomerMapper.xml
- 数据库中了勒索病毒,怎么办?
- HTML期末学生大作业 响应式动漫网页作业 html+css+javascript (1)
- java.net.ConnectException no available server
- pyhanlp 繁简转换,拼音转换与字符正则化
- QQ 聊天机器人API
- 卷积神经网络(CNN)到底是个什么鬼东西(结构及作用)
- 去中心化云图床搭建建议:Cyberduck+4everland bucket
- 分享深度学习的视频网址
- 2020TI省级大学生电子竞赛推荐芯片简介
- 不越狱安装iPa的原理
- 二阶常系数齐次线性微分方程的解法
- leetcode 5. 最长回文子串 【马拉车】
- 运维知识-CentOS7-查看内存型号品牌等
- aix 查看java版本,AIX上安装jdk1.5
- 小程序源码:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题-多玩法安装简单