一道很有意思的面试题,考推理和逻辑能力
问题: 一个屋子里面有五十个人,每个人领着一条狗,而这些狗中有一部分病狗(不少于一条).假定有如下条件:
一,狗的病不会传染,也不会不治而愈.也就是说病狗的数量一直不会改变;
二,狗的主人不能看见自己的狗是否有病,但是狗的主人只有通过别人的狗是否有病才可以看出自己的狗生病了没有;
三,一旦主人发现自己的狗肯定是一只病狗,就会在当天开枪打死这 条狗;
四,狗必须由他的主人亲自动手开枪杀死.如果他们在一起第一天没有枪声,第二天没有枪声,第三天发出了一片枪声,
问有几条狗被打死?
答案:
这道题本来是一个很简单的数学归纳法的应用.我们先来审题,将其题设变成我们的语言和思维,这是解题必须的步骤.题设条件解读结果如下:一,肯定有狗生病,也就是说病狗的数量大于零;二,病狗的数量不会发生变化;三,狗的主人只有通过看别人的狗来确定自己的狗生病了没有;四,如果主人发现自己的狗病了,绝对不会当天不杀死它. 下面讲解一下如何得出结果.第一天,大家都没有开枪杀狗,说明一个问题,就是绝对不只一条狗有病.试假设只有一条狗有病,那么就会有一个人看不见病狗,他根据题设中说一定有病狗就可以推断自己的狗是病的,于是第一天就该响起枪声.第一天的结果已经证明了不只一条狗有病,而且不难看出假设只有一条狗有病就一定可以在第一天响起枪声,击毙那一条生病的狗.此时我们不妨大胆猜测一下:第几天开枪就有几条狗是病的. 到了第二天,我们就可以开始验证我们的结论了.试想,如果只有两条病狗,狗的主人必然看不见其他狗生病,于是发现自己的狗是生病的,那么第一天看到一条病狗的人就会在第二天根据如果有一条病狗,那么第一天就会响起枪声,而第一天没有人开枪,则有不少于一条狗有病.再看看发现自己只看见一条狗生病了,那么想来,自己的狗就是一条病狗.于是就会根据上面的方法推断得到自己的狗病了.于是开枪,响起的枪声应该是两声. 但是到了第二天仍然没有枪声,于是到了第三天.第三天的时候响起枪声了.前面已经说了,绝对不是有三条以下的狗有病,否则枪声早就响了.但是,如果是四条狗有病,他们可以判断自己的狗是病的吗 根据前面所讲,每个病狗的主人都看见三条病狗,而每个人都想自己可以看见三条狗有病,由前面的推导谁也不能肯定自己的狗是病的,就不能判断自己是否该开枪打死自己的狗,于是应该不会响起枪声.于是我们判断出了应该是三条狗有病. 有人问了,如果第四十九天响起枪声,你是不是也就这样推导 四十九步 当然不必要啊.其实根据数学归纳法的思想,我们只要开动脑筋,根据前面的三步推导的结果的特殊性很容易可以得到一个更加一般的推论――只要是符合上述题目条件一到四假设的,无论总共是多少条狗或者无论是哪一天响起了枪声,我们都可以得到是多少条狗倒下.前面已经大胆猜测第几天开枪对应的打死的狗的数目就是几.现在这个答案似乎得到了更加充分的肯 定.但是有的朋友仍然要求我们的答案的绝对正确性,那么我们可以根据归纳总结的方法证明如下: 证明: 1.第一天的枪响了, 说明有一个人看不见病狗, 但是最少有一条狗有病, 于是得到病狗是自己的, 于是开枪杀死自己的狗. 根据这个结论,我们从数字上得到了规律,于是我们猜测规律,用来寻找方便的解决问题的办法.不妨设第N天开枪,必然就是有N条狗倒下. 2.假设,第N天枪响了, 有N条狗是有病的, 而如果第N天没有枪声, 根据小于或等于N的数字n变成n=N,直到n=l的论证,于是得到了答案是第N天没有开枪不可能是少于或等于N条狗生病了, 就说明有多于N条狗有病. ・ 3.证明的重点在于第N+1天的情况: 假设第N+1天想起了枪声, 根据第N天没有枪声, 得到了多于N条狗有病; 再假设有多于N+1条狗有病, 根据多于N条狗有病的时候,第N天所有人的人均不能判断自己的狗一定生病, 现在多于N+1条狗生病,那么大家就无法在N+l天确认自己的狗是否生病,无法决定自己是否应该开枪. 我们得到了结论在N+1天也是无法响起枪声的. 于是与题设以及我们的假设中N+1天响起了枪声发生冲突, 冲突的原因在于我们假设了多于N+1条狗有病, 就说明不可能多于N+I条狗生病了, 于是得到证明有N+1条狗有病. 综上,在第几天开枪就会有几条狗有病被杀得以证明.
一道很有意思的面试题,考推理和逻辑能力相关推荐
- 一道很有意思的面试题目,快加入到这场头脑风暴游戏里吧~
小伙伴们,小叶秋最近看到一个面试题目,感觉挺有意思的,大意如下: ok,大家看到这个题,可以先理解下,这里启动了两个线程,a 和 b,但是虽然说 a 在 b 之前 start,不一定就可以保证线程 a ...
- 一道很烧脑的面试题?在Android中能否用CPU代替GPU?
02每日一题 在Android中能否用CPU代替GPU? 第二天 「小新」的回答,面试官并不是很满意.那这个问题该怎么回答呢?先来了解下 CPU 与 GPU 的相同点与区别? CPU 即中央处理器,G ...
- hdu1426一道很有意思的题目:数独
Problem Description 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行 ...
- java 有意思面试题_一道有趣的Java面试题
一个鸡蛋从第N层及以上的楼层落下来会摔破? 现在很多大型IT企业在面试时都喜欢问一些智力相关的题目,虽然智力面试题在面试笔试中占的比例不大,但很多时候,面试环节中智力题往往会成为我们拿offer的最大 ...
- Java初级面试题!!自己出几道面试题,感觉很有意思
准备面试,看资料发现一些知识点很有意思,所以自己写几个面试题,以后好坑人!! 1.构造器里可以调用构造器吗?需要注意什么? 只能调用一个构造器,而且必须处于最起始位置.除了构造器外,禁止其他方法调用中 ...
- python fun_一道神奇的Python面试题,你会吗?
原标题:一道神奇的Python面试题,你会吗? 无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun: temp = [lambda x : i*x for i in ...
- 一道丧心病狂的java面试题
转载自 一道丧心病狂的java面试题 无意中了解到如下题目,觉得蛮好. 题目如下: public class TestSync2 implements Runnable {int b = 100; s ...
- java笔试题_一道简单的 Java 笔试题,但值得很多人反思
专注于Java领域优质技术,欢迎关注 作者:匿蟒 前言 面试别人,对我来说是一件新奇事,以前都是别人面试我.我清楚地知道,我在的地域与公司,难以吸引到中国的一流软件人才.所以,我特地调低了期望,很少问 ...
- 一道技术美术的面试题
一道技术美术的面试题 https://zhuanlan.zhihu.com/p/27344672 一道技术美术的面试题 王滕昊 游戏开发 话题的优秀回答者 最近看越来越多的知乎小伙伴关注TA的这个 ...
最新文章
- 基于三维点云数据的主成分分析方法(PCA)的python实现
- 【Linux】 -bash-4.2#问题和Cannot allocate memory
- Js中substr,substring,slice截取字符串的异同
- POJ 3414 Pots【广搜】
- c#中Class和Struct使用与性能的区别
- kotlin学习笔记——泛型及reified函数
- ZOJ 1161 Gone Fishing
- Java对象引用四个级别(强、软、弱、虚)
- JDK8后的日期时间API
- vs设计窗口不见了_龙猫腕表评测:VS沛纳海320V2版本
- 14.4.3.5 Configuring InnoDB Buffer Pool Flushing 配置InnoDB Buffer Pool 刷新:
- 文件与i o流java实_JavaFile I/O流
- Spring事务管理的四种方式(以银行转账为例)
- 线性代数复盘 | 同济大学工程数学第六版第三章思维导图笔记——线性方程组的解(复习专用)
- Vue 导出excel 导出多个sheet
- SHFileOperation 用法
- 设计模式之工厂模式(简单工厂、工厂方法、抽象工厂)
- 强智教务系统模拟登陆经验【附源码】
- yii 高级版后台清理前台的缓存
- 【gnuplot】gnuplot安装与简易使用