三鸡啄粟:一千零一粒的按份分摊
三鸡共啄粟一千一粒,雏啄一、母啄二、翁啄四,主责本粟,三鸡主各偿几何?答曰鸡雏主一百四十三,鸡母主二百八十六,鸡翁主五百七十二。这道题的妙处全在最后三个字——「递倍之」。求出一个数,后面两个数翻倍即得,一次除法解完三道账。"
原典
今有三鸡共啄粟一千一粒,雏啄一,母啄二,翁啄四。主责本粟,三鸡主各偿几何?
答曰:鸡雏主一百四十三粒,鸡母主二百八十六粒,鸡翁主五百七十二粒。
术曰:置粟一千一粒为实,副并三鸡所啄粟七粒为法,除之,得一百四十三粒为鸡雏主所偿之数,递倍之,即得母、翁主所偿之数。
白话翻译
三只鸡一共偷吃了一千零一粒粟。鸡雏啄了一粒、鸡母啄了两粒、鸡翁啄了四粒。现在主人要责赔,三只鸡的主人各该赔多少?
答案是:鸡雏主一百四十三粒、鸡母主二百八十六粒、鸡翁主五百七十二粒。
术文给的算法是:拿一千零一粒作为被除数,把三只鸡啄食的份数加起来得七粒作为除数;除一下得一百四十三粒,这是鸡雏主该赔的数;后面两个数翻倍即得。
示意图
古人的算法
先读懂题意。 这三只鸡不是平均偷吃,而是按比例:雏啄 1 粒、母啄 2 粒、翁啄 4 粒。赔的时候自然也该按这个比例赔——谁吃得多,谁赔得多。
比例是
总份数
术文三步。
第一步,定实与法。 被除数(实)是总量 1001,除数(法)是总份数 7。
第二步,相除得雏主之数。
恰好除尽。 143 是鸡雏主该赔的粒数。
第三步,「递倍之」。 鸡母啄的是雏的两倍,所以赔两倍:
鸡翁啄的是雏的四倍,所以赔四倍:
验算三方之和。
正好回到粟的总量,一文不差。
「递倍之」三个字是全题的精华。 它把三道除法合成了一道:先算最小的份,剩下的按比例翻倍。若不用这个技巧,要分别算 与 ——都是分数运算,麻烦得多。古人选择「除一次,翻两番」,是为了让每一步都落在整数上。
为什么 1001 这个数选得好? 因为 ,它能被 7 整除。编题者算准了这一点才定下这个数——若换成 1000, 就要出分数了。
现代数学视角
用今天的语言,这是按比例分配。
设雏主赔 ,则母主赔 、翁主赔 ,共 。
于是
「递倍之」就是今天的「先解出基数,再乘各自系数」。 这道题虽然简单,却是「按比例分配」这一整类问题的标准范式——先把总量除以总份数求出「一份是多少」,再乘各人的份数。今天小学高年级就在学这个套路,源头就在《孙子算经》。
「递倍」这个词本身值得一说。 它不是普通的「加倍」,而是「按既定比例逐级翻倍」。1、2、4 是公比为 2 的等比数列,所以递倍恰好走通。若比例改成 1:3:5(等差),「递倍」就不适用,得逐项乘系数。术文的简洁,得益于编题者选了公比 2。
另有一层趣味:1001 这个数在数学上很有名——它是最小的「三个连续素数之积」(),也是「魔数」之一。用它来出整除题,体面又干净。
高中课本关联
比例分配:总量 ÷ 总份数 = 一份的量,一份 × 各份数 = 各部分。这是最基础的比例应用题,本题是其最古老的实例之一。
等比数列:1、2、4 是公比 2 的等比数列。若比例扩展到八只鸡(1:2:4:8:…),就进入等比求和。第 38 讲「女子善织」正是这个思路的展开。
整除与因数分解:。让学生分解 1001,理解为什么它能被 7 整除,进而理解「编题先定数」的道理。
算法优化意识:同样一道题,「除三次」与「除一次翻两次」结果相同,但后者全是整数运算。让学生比较两种算法的步骤数,体会古人为算筹做的优化。
思考与拓展
-
算一算:按术文算——份数和 ,,递倍得 286、572;再验算三者和为 1001。
-
分解 1001:把 1001 分解质因数,说明为什么它能被 7 整除。若换成 1000,答案会怎样?
-
改比例:若三鸡的啄食比改为 2:3:5,总份数是多少?1001 还能整除吗?若不整除,古人会怎么记答案?
-
等比扩展:若改为「四鸡啄粟,雏啄一,逐级递倍」,总份数是多少?1001 斛能出整数吗?
-
今法对照:用今天的比例分配法(、、)各算一遍,与术文比较。哪种方法步骤少?
一句话总结
一千零一粒除以七得一百四十三,再递倍两次——一次除法、三次翻倍,把 1:2:4 的账算得干干净净。