题解分析及总结:经典逻辑面试题“如何使用少于15L的水,用2个水壶从池塘里取得3升水”

csdn高校俱乐部 面试题 

CSDN-木水辰

毕业生北京邮电大学

2015年1月8日,俱乐部推出的“如何使用少于15L的水,用2个水壶从池塘里取得3升水” 挑战经典逻辑面试题活动,有近100会员参与线上互动,提出各类新颖想法。在传统的2桶互相倒水的思路外,有很多同学提出浮力原理、填充原理、标记方法、滑轮方法、杠杆原理、自由落体原理、时间原理等,结合所学的数理化知识,尝试各类不同的解决办法。真可谓条条大路通罗马!本次活动又一次看到了同学们在思考问题方面的思路多样性和差异性。

在此整理可行的思路,进行对比分析,找出最优的解法,并力图通过现象最终看到问题的本质。希望每一个人在发现问题解决问题的过程中,都能够敢于突破,敢于创新,敢于尝试新的方法。你会发现,在每一条通向罗马的大道上,你都能有所收获,这远比一个固定的结果,更能丰富你的经历,帮助你的成长。


原题:

假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。

方法1: 利用2桶容量差倒水

这是最基本的实现方式,不借助任何外部工具,不考虑壶的形状是否规则,不考虑用水的节省。该方法循规蹈矩,最符合题目本意。

方法2: 标记方法

它通过在桶壁(内壁或外壁,木棍)标记1L水高度的方法,持续获得3个1L水来得到最终的3L水。外壁做标记的情况下,桶需为透明或者半透明;内壁做标记的情况下,桶口径的大小可以允许人手的进入。

方法3: 浮力原理

它类似于“曹冲称象”的测量方式,利用1L水在水中的浮力,在桶外壁做标记的方式实现。此方法不借助外部任何工具,对桶的形状无要求,整体用水量较节省。前提是装水后的桶可以在湖水中浮起来。

方法4: 填充原理

它仿效“乌鸦饮水”的故事,利用不吸水的填充物,获得3L的水。该方法需要借助外部道具实现,理论上是可行的。

方法5: 打洞方法

这个方法通过在桶底打出两个直径相同的洞,通过在 一个洞接水的方式获得3L水。

方法虽然新颖独特,但是属于破坏性的一次性解决办法,虽理论可行但实际中不提倡采用。

方法6: 杠杆原理

这个方法利用杠杆的平衡原理,通过计算和调节杠杆的平衡,获得3L水的容量。借助外部工具,并配合数学计算才能获得所需的结果。需脑力+体力协作的过程。

方法7: 时间原理

这个方法利用对水流速度的测量和计算,获得所需的3L水。理论上虽然可行,但是实际操作性不强,属于理想化的解决方法。

方法8: 蒸发原理

这个方法利用水的挥发性原理,通过对时间的观察和测量获得所需的3L水。理论上虽然可行,但是对环境要求太高,实际操作性不强,属于理想化的解决方法。


分析:                                                                                                                                  -> 查看全部回帖及答题思路

通过对所有同学提交方法的研究对比,发现,其实最优最高效的方法仍是方法1.

用水15L的原理是5+5-6+5-6=3,用水18L的原理是6-5+6-5+6-5=3。如果不用任何工具,它就是最优的思路了。因为两个容器的容积最大是11,调整任何两个数的位置就超过了11或低于0了。所以如果严格按照题目本意解答,是不会有出乎意料的答案的。

但是这个活动的精彩之处在于,它激发了同学们的发散性思维和创新型思维,跳出固有的思维定式,并能结合所学的其他理论常识和生活中的常识,勇于表达自己的观点并与他人讨论互动。

希望每一个人在发现问题解决问题的过程中,都能够敢于突破,敢于创新,敢于尝试新的方法。你会发现,在每一条通向罗马的大道上,你都能有所收获,这远比一个固定的结果,更能丰富你的经历,帮助你的成长。

创建
2015-01-29
浏览
55617次
最新回复
2017-03-29
回复
12
1

阔想天空

毕业生湖北汽车工业

可以通过先用6L桶取6L的水,倒入5L的桶,还剩1L的水,将6L的桶按照这个1L的标准裁剪,使其变成刚好装1L的水桶,然后通过这个1L的水桶方三次水到5L的桶

共用水8L

2015年02月02日 13:28:07

CSDN-木水辰

毕业生北京邮电大学

 

这个剪裁的思路实在是别出心裁。如果桶是由泥烧制的,或者是木板拼接的,如何剪裁呢?一剪就散架了。

 

2015年02月03日 09:58:06

u011003276

毕业生成都信息工程

用6L装满倒入5L,再将5L腾空,将6L中的1L倒入5L中,再把6L装满,再往装有1L水的5L容器装满,这样6L容器中就装有2L水,再将5L容器腾空将6L容器中的2L水装入5L容器中,最后用装满水的6L容器将5L容器注满,6L容器中就只剩3L水了

2015年03月12日 19:15:16

yxyyg

毕业生电子科技大学

6-5=1(将6倒入5,还剩1。再将5清空,将1放入5中)

5-1=4(5这时的空间为4)

....

4-1=3

2015年03月24日 22:57:38

CSDN-木水辰

毕业生北京邮电大学

为什么不想着,把5L桶装满往6L桶里面装水的方式呢?那样总用水还会省3L。

2015年03月25日 13:36:37

RLib

学生广东工业大学

这样都成?那不妨假设池塘水面细微变化可见,把那5升的水倒回去,留1升,观察池塘水面变化取出剩下2升。

2015年04月13日 19:49:12

洛可可258

毕业生安康学院

先用5L的水桶装满水,倒进6L的桶里,此时6L的桶里有5L水,还差1L就满。然后再将5L的水桶装满,倒进6L的桶里,此时6L桶已满,5L桶剩4L水,倒掉6L桶的水,将5L桶的4L水倒进6L桶里,6L桶里面有4L水,还差2L就满,此时将5L桶装满水,倒进6L桶里,6L桶满后,5L桶刚好剩3L水。
 

2015年04月18日 00:04:31

无垢之眸

毕业生武汉纺织大学

将5L的桶放在6L的桶里面,加满6L的水桶,得到1L水,倒在5L水桶里面,连续三次得到3L水,用水3L
 

2015年07月17日 16:06:19

chaolinye

毕业生华南理工大学

2个水壶的水量变化:

5 0
0 5
5 5
4 6
4 0
0 4
5 4
3 6
3 0

2015年09月07日 19:02:13

程序猿全敏

毕业生湖南涉外经济

1.开始5L的桶装满水,6L桶空着。

2.5L的水全部倒入6L的桶中,此时0L,5L

3.5L的桶装满水,再把水把6L的桶倒满,此时5L桶还有4L水,6L桶有6L水

4.把6L桶的水倒了,把5L桶中的4L水全部倒入到6L桶中,此时5L桶0L水,6L桶4L水

5.把5L桶装满水,将5L桶的水倒入6L桶中,装满,此时5L桶有3L水,6L桶中6L水

这个5L桶中就是我们要的水


 

2015年10月30日 18:37:10

玄月冰灵

学生上海交通大学

不可能实现,除非……

2015年11月26日 11:46:12

srxShi

学生河北科技大学

我第一次想到的也是这个方法,毕竟提说水是无限多的,这样就不考虑浪费不浪费的问题了

2017年03月29日 16:08:32
Top_arrow