∫π每天一道数学题
← 返回孙子算经
孙子算经 · 第 61 讲 · 2026-09-25 · 约 8 分钟

禽兽同笼:一道算错了的古题——学会验证,哪怕它来自经典

《孙子算经》卷下这道禽兽同笼题,照术文算出八兽七禽,可一代入题面却对不上。千年前的传本出了什么问题?这一讲讲的是比算法更重要的东西:答案必须经得起检验。

原文

今有兽,六首四足;禽,二首二足,上有七十六首,下有四十六足。问:禽、兽各几何?

答曰:八兽、七禽。

术曰:倍足以减首,余半之,即兽;以四乘兽,减足,余半之,即禽。

白话翻译

有一种怪兽,每只长 6 个头、4 只脚;禽鸟每只长 2 个头、2 只脚。笼中上头共数出 76 个,下面脚共 46 只。问禽兽各有多少?

答案是:8 只兽、7 只禽。

术文给的算法是:脚数乘以 2,减去头数,余数除以 2,得到兽数;再用 4 乘兽数,用脚数去减,余数除以 2,得到禽数。

示意图

禽兽同笼题的数据与术文演算

图:题面数据(76 首 46 足)与术文两步演算,注意代入检验时头数对不上

数学解读

照着术文算一遍

第一步:脚数翻倍减头数,再除以 2:

2×46−762=92−762=162=8\frac{2\times46-76}{2}=\frac{92-76}{2}=\frac{16}{2}=8

第二步:4 乘兽数,用脚数减,再除以 2:

46−4×82=46−322=142=7\frac{46-4\times8}{2}=\frac{46-32}{2}=\frac{14}{2}=7

8 只兽、7 只禽,和答曰一模一样。如果只做到这里,这道题看起来毫无问题。

多走一步:代入检验,矛盾出现了

学数学最要紧的习惯是检验。我们把答案代回题面:

脚数:4×8+2×7=32+14=464\times8+2\times7=32+14=46,正好 46,对得上。

头数呢?

6×8+2×7=48+14=626\times8+2\times7=48+14=62

算出来是 62 个头,不是题面说的 76 个。

再列方程组看一遍。设兽 xx 只、禽 yy 只:

{6x+2y=764x+2y=46\begin{cases} 6x+2y=76\\ 4x+2y=46 \end{cases}

两式相减:2x=302x=30,x=15x=15,再代回:2y=46−60=−142y=46-60=-14,y=−7y=-7。

禽的数量是负 7 只。 题给数据下,这道题根本没有合乎现实的解。

错在哪里:传抄中的数字颠倒

术文本身是一套成熟的"假设法"程序,和鸡兔同笼同源,算法没有错;错的是传本里的题设数字。

按答案 8 兽 7 禽反推,头数应当是:

6×8+2×7=626\times8+2\times7=62

也就是说,题面的"七十六首"应为"六十二首"——"七十六"与"六十二"两个数字位置恰好颠倒,古书靠手抄流传,这种邻位倒置是最常见的抄写错误之一。把 76 改成 62,整道题立刻严丝合缝:

{6x+2y=624x+2y=46⇒2x=16, x=8, y=7\begin{cases} 6x+2y=62\\ 4x+2y=46 \end{cases} \Rightarrow 2x=16,\ x=8,\ y=7

这一讲真正要学的东西

这道题被收进《算经十书》,历代读书人照背照算,很少有人回头验算。但数学不承认权威,只承认真理:任何答案都要能代回原题通过检验。 发现"课本错了"不是冒犯经典,恰恰是认真读经典的证据。

技术上再看术文的结构:"倍之、减之、半之"是一串固定的机械操作,正对应二元一次方程组的加减消元——先消去 yy 求出一个量,再回代求另一个量。只不过在数据正确的题里(如鸡兔同笼),这套操作直接给出答案;在这道题里,它忠实地执行了计算,反而帮我们照出了题面的毛病。算法不会骗人,不检验的人才会。

高中课本关联

  • 二元一次方程组与加减消元法(初中)、数学建模中的检验环节:解出方程后必须代回实际情境检验,负数只数、矛盾数据都说明建模前提或原始数据有误。
  • 算法思想(高中必修《算法初步》):术文"倍足→减首→半之"就是顺序结构的程序语句,可画成程序框图;本题还提示我们,一个正确的程序遇到错误输入,照样会输出错误结果,所以输出检验不可省略。
  • 高考数学文化题常从古算经取材,答题时既要会古法,也要敢于用现代方程核验。

思考与拓展

  1. 把题面改成"六十二首、四十六足",严格按术文重算一遍,再列方程组验证 8 兽 7 禽。
  2. 若兽改为"四首四足"、禽仍为"二首二足",上有 46 首、46 足,问禽兽各几何?列出方程组并检验。
  3. 鸡兔同笼:上有 35 头、下有 94 足。试用"倍足减头"一类的假设置换术推导公式,并说明为什么这道孙子题会出现负数解、而鸡兔同笼不会。

一句话总结

经典也会有抄错的数字,照术文算出答案只是第一步;代入检验、发现矛盾、追到校勘问题,才是数学给人的真功夫。

— Y. · 2026-09-25