咱们先唠唠这个“水落归漕”是啥意思
这词儿看着挺文艺,其实跟咱们日常用的数字“2”有直接关系。它出自《孙子算经》里一个叫“河上荡杯”的算题,原文是“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”翻译过来就是“有若干只野鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只?”
这题里有个关键点:野鸡每只2脚,兔子每只4脚。当咱们把总头数35和总脚数94一起算时,就能反推出野鸡和兔子的数量。这跟“水落归漕”的原理一样——水面下降后,河道里的水位线就清晰可见了,就像把笼子里动物的“脚数”通过已知条件“归拢”到一起算出来。
解法一:方程组思路
这是最标准的数学解法,但咱们用大白话讲。设野鸡有x只,兔子有y只,根据题意能列出两个方程:
- x + y = 35 (总头数)
- 2x + 4y = 94 (总脚数)
解这组方程,先消元:把第一个方程乘2得2x + 2y = 70,然后用第二个方程减去这个结果:
2x + 4y – (2x + 2y) = 94 – 70
2y = 24
y = 12 (兔子有12只)
再代回第一个方程:x + 12 = 35,所以x = 23(野鸡有23只)
这种解法的好处是通用,但写起来比较绕。咱们再试试更直观的方法。
解法二:假设法思路
这个方法特别适合口算,也适合咱们这种“掰开揉碎”讲。分三步走:
- 假设全是野鸡:如果35只全是野鸡,应该有35×2=70只脚,但实际有94只脚,多了94-70=24只脚。
- 分析多出来的脚:每把一只野鸡换成兔子,脚数会增加4-2=2只。所以兔子有24÷2=12只。
- 计算野鸡数量:既然兔子有12只,野鸡就是35-12=23只。
这个方法特别直观,就像咱们数钱——先按最省事的方法(假设全是)算出总数,再看看跟实际收到的差多少,最后换成更”值钱”的(兔子)。
为啥这个谜题值得琢磨
其实这类问题在咱们生活中到处都是。比如:
- 有35件商品,总重量94千克,其中A类商品每件2千克,B类商品每件4千克,问两类商品各多少件?
- 35个座位分成大座和小座,总费用94元,大座每张4元,小座每张2元,问两种座位各多少?
- 就像亚马逊算法推荐——系统知道你看了35个产品,花了94分钟,能根据你点击和停留时间,算出你属于哪种购物类型(就像野鸡是价格敏感型,兔子是品质追求型)
《孙子算经》成书于北周时期(约公元6世纪),比欧洲的鸡兔同笼问题早了至少500年。咱们现在学的“假设法”解法,其实最早见于明代程大位《算法统宗》(1592年),书中有个更形象的比喻:
“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?答曰:雉二十三,兔十二。术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术曰:术