杀人猜测游戏
来源:互联网 发布:p2p理财源码 编辑:程序博客网 时间:2024/06/08 19:44
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4 个嫌疑人中的一个。一下为4个嫌疑犯的供词
A说:不是我
B说:是C
C说:是D
D说:C在说胡话
已知四个人中有有三个人说了真话,一个人说了假话,请问谁是杀人者?
要解决这类问题,必须先假设谁是杀人者,以下分四种情况讨论
1.若A是杀人者,则A说的是假话,B说的是假话,C说的是假话,D说的是真话,不满足3 真1假 NO
2.若B是杀人者,则A说的是真话,B说的是假话,C说的是假话,D说的是真话,不满足3真1假NO
3.若C是杀人者,则A说的是真话,B说的是真话,C说的是假话,D说的是真话,满足3真1假 YES
4.若D是杀人者,则A说的是真话,B说的是假话,C说的是真话,D说的是假话,不满足3 真1假 NO
知杀人者是C
在用C语言实现时要控制循环的次数,当执行一次循环时就判断一次结果,在最后用一个计数器记录说真话的人数,如果等于3说明该人是杀人凶手。
代码实现
#include<stdio.h>
#include<stdlib.h>
int main()
{
char killer;
int a=0;
int b=0;
int c=0;
int d=0;
int count=0;
for(killer='A';killer<='D';killer++)
{
a=(killer!='A');
b=(killer=='C');
c=(killer=='D');
d=(killer!='D');
count=a+b+c+d; //记录说真话人的个数
if(count == 3)
{
printf("杀人的是:%c\n",killer);break;
}
}
system("pause");
return 0;
}
#include<stdlib.h>
int main()
{
char killer;
int a=0;
int b=0;
int c=0;
int d=0;
int count=0;
for(killer='A';killer<='D';killer++)
{
a=(killer!='A');
b=(killer=='C');
c=(killer=='D');
d=(killer!='D');
count=a+b+c+d; //记录说真话人的个数
if(count == 3)
{
printf("杀人的是:%c\n",killer);break;
}
}
system("pause");
return 0;
}
0 0
- 杀人猜测游戏
- 杀人游戏
- 杀人游戏
- 杀人游戏的玩法
- 什么是杀人游戏
- 杀人游戏攻略
- SOA杀人游戏
- SOA杀人游戏
- 有感于杀人游戏
- 毕业前杀人游戏
- 杀人游戏介绍
- 杀人游戏 - 规则
- 杀人游戏语言中英对照
- 杀人游戏英文版
- 数据结构 杀人游戏
- [中山市选] 杀人游戏
- 另类杀人游戏
- 杀人游戏-约瑟夫问题
- 批处理
- KeyError:'USER'报错
- 大数据时代下OLAP的角色转换
- duilib treeview 单击时折叠
- OLAP系统功能小析
- 杀人猜测游戏
- 云计算:利用叶子云桌面虚拟化管理平台搭建企业的桌面云,简介(一)
- 如何成为真正的数据架构师
- android 多条件筛选菜单效果
- 深度优先搜索DFS(迷宫问题)
- 如何做好数据模型设计及模型管理?
- shell 之基本的运算指令
- algrothm_输出异样*形
- PhoneGap的第一天