IBM面试题试解(关于50条狗、50个人、病狗)
题目:村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗。
每个人可以观察其他49条狗,以判断他们是否生病,(如果有病一定能看出来),只有自己的狗不能看,观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的狗是病狗就是枪毙自己的狗(发现后必须在一天内枪毙),而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。
第一天大家全看完了,但枪没有响,到了第三天传来一阵枪声,问村里共有几条病狗,如何推算出来的?
分析:1).假设只有一只病狗。此时,只有一个人没看到有病狗,其他49看到有一条病狗。看不到病狗的人马上可以推断自己的狗是病狗,所以假设不成立。因此病狗不止一只。
2)假设有两只病狗。此时,有两个人看到只有一只病狗,其余48人看到有两只病狗。第一天看完之后没有人杀狗。因此第二天看到只有一只病狗的人就可以结合假设一的结论知道狗其实不止一只,因此自己只看到一只,因此自己的狗也是病狗,然后将狗杀掉。所以假设二也不成立。因此病狗不止两只。
3)假设有三只病狗。有三个人看到有两只狗,其余47人看到有三只狗。前面两天自然没有人杀狗。到了第三天,看到只有两只狗的这三个人(根据前面推断)知道病狗不止两只,而自己已经看到两只,所以自己的狗也是病狗,然后三人一起举枪杀之。此假设与题目相符。
至于这个程序怎么编呢?用试探法么?
转载于:https://www.cnblogs.com/mahope/archive/2005/09/29/246725.html
IBM面试题试解(关于50条狗、50个人、病狗)相关推荐
- (找不同问题)有 50 家人家,每家一条狗。有一天警察通知, 50 条狗当中有病狗,行为和正常狗不一样
问题描述 有 50 家人家,每家一条狗.有一天警察通知,50 条狗当中有病狗,行为和正常狗不一样.每人只能通过观察别人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必 ...
- 有 50 家人家,每家一条狗。有一天警察通知, 50 条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别 人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天
文章目录 题目 一.题目获得的条件 二.假设法解决题目 1.举例子 2.深入理解 总结 题目 有 50 家人家,每家一条狗.有一天警察通知, 50 条狗当中有病狗,行为和正常狗不一样.每人只能通过观察 ...
- 在50户人家的狗中寻找病狗数量的趣味题目(详细解释)
这一类的题目其实是一种很有意思的智力题. 题目描述 有50户人家,每家一条狗.有一天警察同志通知,在这50条狗中有病狗,它的行为和其它狗不一样,现在每个人只能通过观察其它人家的狗来判断自己家的狗是否生 ...
- 网易大数据面试题试解
上周无意中看到了一份网易的面试题,说明为大数据部的面试题,粗略的看了一下,觉得挺有趣的,所以尝试着进行一下解答,首先要吐槽下,不知道这是什么级别岗位的题目,感觉有些不够专业,对大数据能力考察的题目几乎 ...
- 孙源面试题试解(更新完毕)
孙源的面试题是通过唐巧的微信公众号看来的, 地址 这里尝试解一下, 肯定会有不少错误, 或者是不会答的, 不会的或者有疑问的会努力查证, 我写在这里, 对自己以示驱策. PS: 图片是保存下来之后直接 ...
- IBM面试题 50条狗 有病狗 有几条病狗?
题目:村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗. 每个人可以观察其他49条狗,以判断他们是否生病,(如果有病一定能看出来),只有自己的狗不能看,观察后得 ...
- [开心IT面试题] 关于50个人50条狗有几条病狗的推算
题目: 村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗. 每个人可以观察其他49条狗,以判断他们是否生病,(如果有病一定能看出来),只有自己的狗不能看,观察后 ...
- 6个原则、50条秘技提高HTML5应用及网站性能
Jatinder Mann是微软Internet Explorer产品的一名项目经理,在BUILD 2012大会上,他做了题为"提高HTML5应用和网站性能的50条秘技(50 perform ...
- 50条狗中有多少条病狗?
问题: 村子中有50个人,每人有一条狗.在这50条狗中有病狗(这种病不会传染).于是人们就要找出病狗.每个人可以观察其他的49条狗,以判断它们是否生病, 只有自己的狗不能看.观察后得到的结果不得交流, ...
- BM经典面试题:挑战你的逻辑分析能力(病狗问题)
IBM公司向来以高素质人才作为企业持续竞争力的保证.进入IBM公司是差不多每个IT人的梦想,偶然看到这条IBM公司的面试题,给大家试试看,看看是否具备进入IBM的实力. [题]村子中有50个人,每人有 ...
最新文章
- java if and_Java运算符-if分支语句
- 测序技术及常见的有几种平台类型
- 编译安装appach遇到的那些事
- 4. 寻找两个有序数组的中位数
- opencv将整个图片BGR通道的某个通道进行修改
- 250鲁大师跑分_鲁大师跑分20万起步的闲鱼二手电脑能买么?只要四招轻松告别套路...
- iOS图片编辑功能实现
- 【Linux导论】Linux引导流程(The Boot Process)
- mysql 查询缓存设置_MySQL查询缓存设置 提高MySQL查询性能
- vm怎么装vim_虚拟机中Ubuntu下安装vim及配置文件和插件之菜鸟初体验
- 号称是世界最大的电子书图书馆ZLibrary
- 宾州州立大学帕克分校计算机科学,宾夕法尼亚州立大学帕克分校计算机专业好吗?...
- 重装后显示计算机无法联网,Win10重装系统后无法联网如何解决
- 基于微信视频点播小程序系统设计与实现 开题报告
- SHR之员工合同解除
- 2017百度秋招真题笔试之十字架
- 如何像「西瓜足迹」一样,将用户导流到公众号上变现?
- 计算机通信网络设备调试员(三级 高级),计算机通信网络设备调试员国家职业标准.doc...
- tomcat各版本下载
- EM算法-硬币实验的理解
热门文章
- ocelot 配置文件的动态更新
- IDEA+MAVEN+testNG(reportNG)
- react native 第三方组件react-native-swiper 轮播组件
- 【canvas】linejoin——miterLimit
- Ruby学习笔记1 -- 基本语法和数据类型, Class
- hdu.1429.胜利大逃亡(续)(bfs + 0101011110)
- 强烈推荐深入浅出jBPM
- com scripting读书笔记
- 对文件夹添加共享属性!
- Java编程基础阶段笔记 day03 Java基本语法(中)