网上流传着一题淘宝面试题,原题如下:
我们有很多瓶无色的液体,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常。现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分()。A:5, B:6, C:31, D:32。
+1只小白鼠
- 喝法(纵向表示液体瓶编号,横向表示小白鼠编号,交叉部分表示小白鼠是否喝了相应的液体):
液体\小白鼠 | N1 | N2 |
1 | 喝 | |
2 | 喝 | |
3 | 喝 | 喝 |
- 死法(纵向表示N1小白鼠的测试结果,横向表示N2小白鼠的测试结果,交叉部分数值是毒药瓶编号或无毒药。)
N1\N2 | 死 | 活 |
死 | 3 | 2 |
活 | 1 | 无 |
- 结论:2只小白鼠可检测3瓶液体成分。
+3只小白鼠
顺推思维
- 喝法(纵向表示液体瓶编号,横向表示小白鼠编号,交叉部分表示小白鼠是否喝了相应的液体)N1喝1号4号液体;N2喝2号4号液体;N3喝3号4号液体。
液体\小白鼠 | N1 | N2 | N3 |
1 | 喝 | ||
2 | 喝 | ||
3 | 喝 | ||
4 | 喝 | 喝 | 喝 |
- 死法
- N1活N2活N3活:1、2、3、4号液体均正常。
- N1活N2活N3死:1、2、4号液体均正常,3号液体有毒。
- N1活N2死N3活:1、3、4号液体均正常,2号液体有毒。
- N1死N2活N3活:2、3、4号液体均正常,1号液体有毒。
- N1死N2死N3死:1、2、3号液体均正常,4号液体有毒。
- 注意,这里不会出现有2只小白鼠死了另外1只活着的情况,因为只有1瓶液体是毒药,而且我们给3个小白鼠喝的方法只有2种:单独喝某1种液体,集体都喝某种液体。
- 结论:3只小白鼠可检测4瓶液体成分。
- 思考:通过如上结论大家有没有觉得怪怪的,或者是不甘心。
- 1只小白鼠测试1瓶液体
- 2只小白鼠测试3瓶液体
- 3只小白鼠测试4瓶液体,根据学数学的增量直觉,是不是太少了?或者如上方法是否有值得发散思维的地方?
发散思维
- 喝法(纵向表示液体瓶编号,横向表示小白鼠编号,交叉部分表示小白鼠是否喝了相应的液体)
液体\小白鼠 | N1 | N2 | N3 |
1 | 喝 | ||
2 | 喝 | ||
3 | 喝 | ||
4 | 喝 | 喝 | 喝 |
5 | 喝 | 喝 | |
6 | 喝 | 喝 | |
7 | 喝 | 喝 |
- 死法
- N1活N2活N3活:1、2、3、4、5、6、7号液体均正常。
- N1活N2活N3死:1、2、4、5、6、7号液体均正常,3号液体有毒。
- N1活N2死N3活:1、3、4、5、6、7号液体均正常,2号液体有毒。
- N1死N2活N3活:2、3、4、5、6、7号液体均正常,1号液体有毒。
- N1死N2死N3死:1、2、3、5、6、7号液体均正常,4号液体有毒。
- N1死N2死N3活:1、2、3、4、6、7号液体均正常,5号液体有毒。
- N1死N2活N3死:1、2、3、4、5、7号液体均正常,6号液体有毒。
- N1死N2死N3死:1、2、3、4、5、6号液体均正常,7号液体有毒。至此,所有可能情况已经被枚举完毕。
- 1只小白鼠测试1瓶液体
- 2只小白鼠测试3瓶液体
- 3只小白鼠测试7瓶液体
- 4只小白鼠测试N瓶液体?
- 5只小白鼠呢?
- 1只小白鼠测试21–1瓶液体
- 2只小白鼠测试22–1瓶液体
- 3只小白鼠测试23–1瓶液体
- 让N只小白鼠每1只喝单独的1瓶
- 让N只小白鼠任意中2只再同时喝1瓶新液体
- 让N只小白鼠任意中3只再同时喝另1瓶新液体
- 。。。
- 让N只小白鼠任意中N只再同时喝1瓶格外新的液体
查看高2(2004年)数学书你就知道:总数=Cn0+Cn1+Cn2 + Cn3+…+ Cnn-1+Cnn 。即从中取出0、1、2...3、N-1、N个元素组成的子集合的总数。并且这个问题还有一个很简单的解答方式: 设想其子集合很多,但是每个集合对于元素的包含只有2种可能:包含、不包含。那么N个元素的组合可能即2*2*2*...*2=2n
再来对照上面的N个小白鼠测试液体瓶数:Cn1+Cn2 + Cn3+…+ Cnn-1+Cnn= (Cn0+Cn1+Cn2 + Cn3+…+ Cnn-1+Cnn )-Cn0
即2n- Cn0。即2n - 1.至此
本题答案
5只小白鼠能测试的液体瓶数25 - 1=31已经解答完毕了。
======================================================================================================
总结
- 2个小白鼠能想到同时再喝1瓶新的。
- 3个小白鼠能想到分组在喝,多个小白鼠思考能有条不紊、不乱。
- N个元素集合子集数量的两种表示法和证明过程