龙空技术网

韩信分油的算法

霄林天 27304

前言:

目前姐妹们对“分油问题与算法”大概比较珍视,姐妹们都想要学习一些“分油问题与算法”的相关知识。那么小编也在网络上搜集了一些有关“分油问题与算法””的相关知识,希望我们能喜欢,姐妹们一起来学习一下吧!

国士无双——“淮阴侯”韩信

淮阴侯韩信,兼有汉初三杰、兵家四圣、国士无双等等头衔,是辅佐刘邦建立汉朝的大军事家。尽管韩信的最终结局不太好,但是他智计无双的形象早已深入人心,不仅有背水一战、十面埋伏等等名场面,还有一些生活中的智力小故事。

韩信分油

韩信分油就是其中一件趣味故事——传说韩信有一天信马由缰地压马路,偶遇两个年轻人吵架,好奇心的驱使下韩信搞清楚了两个人的纷争,并打算当一把和事佬。原来这年轻人得到了10升油,各有一个油壶,一个3升、一个7升,但他们想要平分10升油,这就吵了起来。

聪明绝顶的韩信分分钟平分了油,骑着马绝尘而去,深藏功与名。那么韩信究竟是如何用3升、7升的油壶平分10升油的呢,我们就来试着复原一番淮阴侯的“算法”。

逻辑演算

逻辑演算

从头来看“韩信分油”的问题,两个人之所以产生争执,就是因为面对10升的油,没有2个5升油壶,也没有1升为单位的量杯来细分,只能用3升、7升这两个油壶来回调兑。

而所谓的平分,就是获取3升、7升的一个中间量,这就可以明确一点——必须做减法!

如果利用3升壶,可以得到3升油,但是很难再准确地添加2升油。但是如果能够在3升壶中制造出2升油的空缺,再用灌满的7升壶去灌满3升壶, 剩下的不就是5升油了。

所以在逻辑上可以确定一个方向——用大容量的油壶来灌满小容量的油壶,不断制造差值,7-3=4、4-3=1、3-1=2,而7-2恰恰等于5,这就解决了问题。

实现分油的最后目标

7-5=2; (0)分析: 7升壶加满后,从里面倒出2升油,剩下的就是5升油;

第一步:7升减到4升

7-3=4; (1)第一步: 装满7升壶,再用7升壶倒满3升壶,7升壶还剩4升油;

第二步:4升变1升

4-3=1; (2)第二步: 把3升壶清空,再用7升壶剩下的4升油把3升壶重新倒满,7升壶还剩1升油;

第三步:制造2升油的空缺

3-1=2; (3)第三步: 把3升壶清空,将7升壶中的1升油倒进3升壶,现在3升壶只需要再添加2升就满了;

第四步:7升变5升

7-2=5。 (4)第四步:装满7升壶,再用7升壶把装有1升油的3升壶灌满,7升壶里剩下的就是5升油。

法国数学家泊松年轻时也曾玩过分葡萄酒的趣味问题

延伸和展开

类似“韩信分油”的数学小谜题有很多,通常都是一大一小两个没有刻度的容器,需要用它们来分出中间量的液体。

法国数学家泊松就曾研究过,用8品脱和5品脱的容器来平分12品脱葡萄酒,解决思路与韩信分油是一样的。

8-6=2; (0)分析:8品脱的容器,灌满后,再倒出2品脱,剩下的就是6品脱;

8-5=3; (1)第一步:利用现有的两个容器,先制造第一个差值,3品脱;

5-3=2; (2)第二步:把5品脱容器清空,再倒入8品脱容器中剩下的3品脱葡萄酒,这时容器就空出了2品脱的空间,得到了需要的差值2;

8-2=6. (3)第三步:再把8品脱容器灌满,然后用其中的葡萄酒灌满5品脱容器,剩下的就是6升葡萄酒。

这些“分油”问题其实往往来回调弄几次也能碰出答案,但是想要做到操作次数最小的“最优解”却比较难。

图解分析“韩信分油”问题

韩信分油问题在如今已经有了彻底更为彻底的解决方案,那就是利用坐标系建模的方式,来遍历所有的“分油”方式,可以准确地比较出最优解。

标签: #分油问题与算法