Microsoft招聘时出的试题
网上查到的:
这道题本来是一个很简单的数学归纳法的应用。我们先来审题,将其题设变成我们的语言和思维,这是解题必须的步骤。题设条件解读结果如下:一、肯定有狗生病,也就是说病狗的数量大于零;二、病狗的数量不会发生变化;三、狗的主人只有通过看别人的狗来确定自己的狗生病了没有;四、如果主人发现自己的狗病了,绝对不会当天不杀死它。
下面讲解一下如何得出结果。第一天,大家都没有开枪杀狗,说明一个问题,就是绝对不只一条狗有病。试假设只有一条狗有病,那么就会有一个人看不见病狗,他根据题设中说一定有病狗就可以推断自己的狗是病的,于是第一天就该响起枪声。 第一天的结果已经证明了不只一条狗有病,而且不难看...全部
网上查到的:
这道题本来是一个很简单的数学归纳法的应用。我们先来审题,将其题设变成我们的语言和思维,这是解题必须的步骤。题设条件解读结果如下:一、肯定有狗生病,也就是说病狗的数量大于零;二、病狗的数量不会发生变化;三、狗的主人只有通过看别人的狗来确定自己的狗生病了没有;四、如果主人发现自己的狗病了,绝对不会当天不杀死它。
下面讲解一下如何得出结果。第一天,大家都没有开枪杀狗,说明一个问题,就是绝对不只一条狗有病。试假设只有一条狗有病,那么就会有一个人看不见病狗,他根据题设中说一定有病狗就可以推断自己的狗是病的,于是第一天就该响起枪声。
第一天的结果已经证明了不只一条狗有病,而且不难看出假设只有一条狗有病就一定可以在第一天响起枪声,击毙那一条生病的狗。此时我们不妨大胆猜测一下:第几天开枪就有几条狗是病的。
到了第二天,我们就可以开始验证我们的结论了。
试想,如果只有两条病狗,狗的主人必然看不见其他狗生病,于是发现自己的狗是生病的,那么第一天看到一条病狗的人就会在第二天根据如果有一条病狗,那么第一天就会响起枪声,而第一天没有人开枪,则有不少于一条狗有病。
再看看发现自己只看见一条狗生病了,那么想来,自己的狗就是一条病狗。于是就会根据上面的方法推断得到自己的狗病了。于是开枪,响起的枪声应该是两声。
但是到了第二天仍然没有枪声,于是到了第三天。
第三天的时候响起枪声了。前面已经说了,绝对不是有三条以下的狗有病,否则枪声早就响了。但是,如果是四条狗有病,他们可以判断自己的狗是病的吗?根据前面所讲,每个病狗的主人都看见三条病狗,而每个人都想自己可以看见三条狗有病,由前面的推导谁也不能肯定自己的狗是病的,就不能判断自己是否该开枪打死自己的狗,于是应该不会响起枪声。
于是我们判断出了应该是三条狗有病。
有人问了,如果第四十九天响起枪声,你是不是也就这样推导 四十九步?当然不必要啊。其实根据数学归纳法的思想,我们只要开动脑筋,根据前面的三步推导的结果的特殊性很容易可以得到一个更加一般的推论——只要是符合上述题目条件一到四假设的,无论总共是多少条狗或者无论是哪一天响起了枪声,我们都可以得到是多少条狗倒下。
前面已经大胆猜测第几天开枪对应的打死的狗的数目就是几。现在这个答案似乎得到了更加充分的肯 定。但是有的朋友仍然要求我们的答案的绝对正确性,那么我们可以根据归纳总结的方法证明如下:
证明:
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条狗有病。
综上,在第几天开枪就会有几条狗有病被杀得以证明。
在数学的世界里,我们有很多不同的思想方法,比如说,我们常常遇到的统筹的思想方法;我们也常常需要根据一些已知的东西推断一些未知的东西,这就用到我们所讲的总结法;而为了证明判断的正确,我们又用到了归纳法来证明。
数学的思想方法无处不在,很多的事物与规律都与数学的思想方法直接或者间接地相关。在未来,科技更加发达,我们的头脑中必定需要有更多的数学的思维出现;为了在社会中生存,为了在竞争中取胜,综合地培养自己的能力时也需要不断地培养数学的思维。
我们的生活中,也常常会用到数学的思想方法,也常常会思考一些数学问题。我们在思考这些方法的同时,也得到了进步。在我们的学习工作中,不仅要把数学学好,还要把数学的精髓学到手,这就是了解和掌握数学的思想方法。
并且还要加强自己应用的能力,因为熟练的应用,可以直接为我们的生活和学习工作带来意想不到的好处和方便。甚至在一次重要的权威面试中,直接关系到自己一辈子的发展的,也就是这么一个简单的数学归纳法。收起