版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、挑战经典逻辑面试题:如何使用少于15L的水,用2个水壶从池塘里取得3升水这是一道经典的逻辑面试题! 不管你是产品经理,还是程序员,面试的时候都会经常看到。在面试场景下,一般人5-10分钟内会给出答案。如果此时的面试官变换考察形式,在给出一个解题答案的基础上,让你进行优化,你是否能够有更好的解决办法呢?题目:假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。我们的答案是:1. 将5L桶装满水,倒入6L桶,此时6L桶有5L水;2. 再次将5L桶装满水,倒入6L桶,6L水满,5L桶还剩4L水;3. 将6L桶的水倒空,将5L
2、桶中剩余的4L水倒入6L桶,此时6L桶有4L水;4. 将5L桶再次装满水,将6L桶的水注满,5L桶剩余3L水。全过程用水15L。挑战:比此方案少用水的同学,贴出你的答案,思路和过程,答案无重复的第一人将获得30C币和俱乐部30积分。有一个投机取巧的方法是,一个桶,倾泻倒水,倒至露出桶底的棱的一刻,正好是半桶水,so 6L / 2 = 3L。灌水有技巧。1.6L的桶装满水,倒入5L的桶,6L的桶剩1L,再把5L的水倒没,把剩的1L倒入5L并在桶中做一个记号;2.6L的桶装满水,倒入5L的桶,6L的桶剩2L;3.看着5L桶的记号往出倒水,剩到记号位置的1L水;4.两个桶里的水倒在一起,共为3L,总
3、共用水12L。6L的桶装满水,桶底有两个半径相等的洞,5L的桶在其中一个洞口接水,6L的桶里面的水流完,则5L的桶里面就有3L的水了。总共6L1.6L的桶装满水,倒满5L的桶,6L桶剩下1L水,倒掉5L桶里的水,把6L桶里的1L水倒入5L桶中;2.6L桶装满水,倒满5L的桶,6L桶剩下2L水,倒掉5L桶里的水,把6L桶里的2L水倒入5L桶中;3.6L桶装满水,倒满5L的桶,6L桶里剩下3L水。找根绳子,一段系一个桶,中间吊着,假设5L的轻就在5L中装水使之平衡。然后6L中装满,往5L中倒,等平衡后,6L中装水就为3L(平衡原理)1、6升的水壶装满,倒5升到沧5升的水壶中,此时6升水壶中有1升水
4、。 2、将6升水壶放到池塘水面,浮力把它浮起来,记住吃水深度。 3、把5升水壶倒空,再把6升水壶中的1升水倒到5升水壶中。 4、把6升水壶放到水面,根据吃水深度,使得6升水壶里达到1升水,再把 6升水壶的水倒到5升水壶中。 5、重复4步骤。步骤如下:1.状态:6L的桶装满水,5L的是空桶。将6L桶中的满水倒入5L的空桶中,此时6L的桶中剩下1L的水,再把5L的桶中的水清空。将6L桶中剩下的1L的水倒入5L的桶中。2.状态:6L的桶装满水,5L的桶装有1L的水。将6L的装满的水倒入5L的装有1L水的桶中,6L的桶中剩下2L的水,像步骤一样。把5L的桶中的水清空,倒入2L的水。3.状态:6L的桶装
5、满水,5L的桶装有2L的水。将6L的桶中的水倒入5L的桶中后,6L的桶中剩下的水即是3L。1.取6升水倒入5升桶,6升桶余1升水,标记1升水位置,5升桶水倒出,6升桶中1升水倒入5升桶。2.利用标记用6升桶分别再取两次1升水倒入5升桶中,得到3升水。共用了:8升水!如果按图上的描述两个桶只有高度上的差距的话,有个解法:1.将两个桶水平放好,5L桶倒满,再倒入6L桶,再把5L桶倒满,得到两个5L的水。(共用水10L)2.将5L水部分倒入6L,将6L倒满,这样就一个4L一个6L,按照4L的高度标记,将6L水倒出一部分,跟4L水平,就得到两个4L。(此步骤没用水)3.将5L桶加满(加1L即可),再倒
6、入6L桶,这样5L桶就只剩3L了。(此步骤用掉1L)所以共用掉11L水。(看了下题目,感觉常规解法做不到,于是只有想这些投机取巧的方法了)分析:从题目来看这两个桶是形状相同,但容积不同的桶。解析如下:1.用6L桶取满水。(此步骤消耗6L的水)2.将6L水倒置在5L桶上,此时5L桶满,溢出的1L水在6L桶里,再将两桶平方地面,使5L桶里的水倒的跟6L桶里水相同,同理,5L桶里水剩1L,将6L桶里的1L倒入5L桶里,5L桶里剩2L水。所有的水都是基于步骤1所取的水。(此步骤不消耗水)3.将6L桶装满水,再倒置在5L桶上,上一部5L剩余2L水,此时有3L水溢出在6L桶中。(此步骤消耗6L水)共消耗1
7、2L水进一步理解见图:我觉得用杠杆原理是可行的,假设6L桶重为k6,5L桶重k5,第一次称重,假设两边刻度为2,3;则k6 * 2 = k5 * 3;然后将5L水倒入5L的桶中可以得到,(k5 + 5) * 2 = (k6 + 3) * y;其中根据上面假设条件来看,k5,k6是已知的,我们可以计算出y = (k5 + 5) * 2)/(k6 + 3); 然后就出来了,在第二次称重的时候,k5这边杠杆长度保持原有刻度2,调整k6这边的杠杆长度为y = (k5 + 5) * 2)/(k6 + 3),然后往6L桶中倒水直至杠杆平衡,这个时候6L桶重水为3L,总共用水8L你的方案原理是可行的。但下面
8、两个公式,他们的关联在哪里?如果第一个公式“k6 * 2 = k5 * 3”的目的是找到平衡点并记录,那么第二个公式就应该为(k5 + 5) * 3 = (k6 + 3) * y,而不是“(k5 + 5) * 2 = (k6 + 3) * y;”。你觉得呢?标记法,无论透明不透,只要我手能伸进去就可以,我用大桶,打6升水,倒给5升的,留1升,做好标记,倒掉,然后,小桶往大桶里倒1升,5-1 =4-1=3;用了6升前提是,我手能进去,不规则形状等特殊情况除外,桶是金刚做的,我指甲划不破,那我也没办法。另,题目上单位是升,水的质量不一定是1:1,换算成质量,
9、不符合逻辑,好比变量类型不同,会报错的还有种只用5升的办法,但是有个前提,6升水的桶,底部可以拆卸,放到上面,那么,我打5升水,倒入6升桶,做好标记,把水倒回5升,然后把6桶倒过来,标记就在下面,盖子?底?装上用上面的倒1升水办法,只要5升,因为题目给出的容器最小值是5,所以,5是最少的了,只用3升,特殊形状可以,圆桶就比较难特殊形状6升容器,正方体,一根绳子吊住一个角,放下去,捞起就是3升能不能填充它呢,先将6L桶装满,倒满5L桶,还有1L在桶了,用不吸水的物质填充6L桶至水面持平桶口,就得到1L的桶了#24,最后得3L水要6+1+1=8L水就好1.5L和6L的水壶未放水时放入池塘标记下吃水
10、深度。2.6L水壶装满水倒入5L水壶,倒掉5L水壶中的水,标记下6L水壶中有1L水的吃水深度。3.将6L水壶的1L水倒入5L水壶中,将空的6L水壶放入水中加水直到吃水深度到达先前的刻度,并倒入5L水壶中,4.重复两次。共用水8L有一位同学提出了优化的方案,利用5L桶中已有的水。你们可以切磋下1.将6L桶装满再倒入5L桶中倒满,6L桶中剩1L,用木棍进行1L的标记(垂直放入6L桶中,湿掉部分为1L),倒掉5L桶中的水,把6L桶中的1L水倒入5L桶中。此步骤消耗6L水。2.利用1L的木棍,取1L水到6L桶中,再倒入5L桶中,5L桶中有2L水,此步骤消耗1L水。3.同上,此时5L桶中有3L水,此步骤
11、消耗1L水。全程消耗8L水。而且不管桶底面积是否相同,是否透明,都可以实现。木棍一直是标记6L桶中1L深。用木棍的水印来标记高度可能会有问题,比如多次测量水高度的时候,原有的水印就会被覆盖掉。我建议可以采用木棍上绑定绳子或者划痕的方式来做。就算两桶重量不等也可以,实际生活中6L的壶是要比5L的壶重一点的,所以可以:用绳子一端系一个壶将其吊起来,并在5L的壶中加少量水使得两端平衡。然后6L壶中装满,往5L壶中倒,平衡之后,6L壶中就是3L水啦。刚才好好想了一下,用杠杆原理还是可以做的,只不过要多测几次。 杠杆平衡的时候,6L桶里装的是3L水,总的用水量为8L。找一些细小的石子。先用5升
12、的桶装满水然后倒入6升的桶中。往6升的桶中放细石子。当6升的桶中水位升满时。可以知道这些石子的体积是1升。这时将6升桶中的水全部倒入5升的桶中。然后将全部一升的石子也倒入5升的桶中,5升桶中的水会溢出,剩下的水就是4升,将这4升的水全部到入6升的桶中。这样6升的中中就有2升水的空间。将石子从5升桶中全部倒出。向5升桶中装满水,然后将水往6升桶中到出,直到6升桶装满,5升桶中就剩余3升的水。一共用水10升。五满倒六,六放石子满,在把水倒回五升容器,拿出石子放入五升容器,漾出一升水,在把水倒入六升容器,取出石子。五满倒六即可10升。感觉比把六升桶填成一升桶好点,原理都是一样的。原题:假设有一个池塘
13、,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。方法1: 利用2桶容量差倒水这是最基本的实现方式,不借助任何外部工具,不考虑壶的形状是否规则,不考虑用水的节省。该方法循规蹈矩,最符合题目本意。方法2: 标记方法它通过在桶壁(内壁或外壁,木棍)标记1L水高度的方法,持续获得3个1L水来得到最终的3L水。外壁做标记的情况下,桶需为透明或者半透明;内壁做标记的情况下,桶口径的大小可以允许人手的进入。方法3: 浮力原理它类似于“曹冲称象”的测量方式,利用1L水在水中的浮力,在桶外壁做标记的方式实现。此方法不借助外部任何工具,对桶的形状无要求,整体
14、用水量较节省。前提是装水后的桶可以在湖水中浮起来。方法4: 填充原理它仿效“乌鸦饮水”的故事,利用不吸水的填充物,获得3L的水。该方法需要借助外部道具实现,理论上是可行的。方法5: 打洞方法这个方法通过在桶底打出两个直径相同的洞,通过在 一个洞接水的方式获得3L水。方法虽然新颖独特,但是属于破坏性的一次性解决办法,虽理论可行但实际中不提倡采用。方法6: 杠杆原理这个方法利用杠杆的平衡原理,通过计算和调节杠杆的平衡,获得3L水的容量。借助外部工具,并配合数学计算才能获得所需的结果。需脑力+体力协作的过程。方法7: 时间原理这个方法利用对水流速度的测量和计算,获得所需的3L水。理论上虽然可行,但是
15、实际操作性不强,属于理想化的解决方法。方法8: 蒸发原理这个方法利用水的挥发性原理,通过对时间的观察和测量获得所需的3L水。理论上虽然可行,但是对环境要求太高,实际操作性不强,属于理想化的解决方法。分析: &
16、#160; -> 查看全部回帖及答题思路通过对所有同学提交方法的研究对比,发现,其实最优最高效的方法仍是方法1.用水15L的原理是5+5-6+5-6=3,用水18L的原理是6-5+6-5+6-5=3。如果不用任何工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精神病人风险评估制度及评估表
- (优化版)高中地理新课程标准【2024年修订版】
- (浙江选考)2021高考物理二轮复习专题三电场和磁场第1讲电场和磁场性质的理解学案
- 2024年巢湖驾驶员货运从业资格证考试题
- 2024年宜昌客运资格证仿真试题
- 2024年邵阳客运从业资格证考试技巧
- 2024年梅州从业资格证客运考试题库
- 2024年海南客运上岗考试都考什么题
- 混合动力汽车发动机构造与维修 题库试题
- 暂时进出口协议
- 2024年光缆敷设及维护合同
- 2024-2025学年高中地理第四章自然环境对人类活动的影响2全球气候变化对人类活动的影响达标训练含解析中图版必修1
- 化工厂设备安装施工方案
- 疫情期间学生德育工作总结
- (新课标新教材)2024秋新人教版数学小学一年级上册数学第 四单元第1课时《10的再认识》说课稿
- JJF 2159-2024零气发生器校准规范
- 海底探测用自动潜航器相关项目实施方案
- 期中检测卷(试题)-2024-2025学年统编版二年级语文上册
- 2024年江苏省气象系统事业单位招聘61人历年高频难、易错点500题模拟试题附带答案详解
- 巴金《家》简介课件
- 3.1《让小车运动起来》优质课件
评论
0/150
提交评论