鸡兔同笼

中国古代典型趣题之一

鸡兔同笼

大约1500年前,《孙子算经》中记载了一道数学趣题——“鸡兔同笼”问题,是中国古代典型趣题之一。[0]在《孙子算经》中的记载为:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何。”[1]明代数学家程大位在《算法统宗》收录该题并将“雉”改“鸡”,沿用至今。[4]鸡兔同笼随中国文化传至日本,日本人将其改为:某处有鹤龟百头,只云足数和为二百七十二,求鹤龟各几何,并命名为“鹤龟算”。[5]鸡兔同笼的解法有多种,在《孙子算经》中使用“除减法”来解此题,随着数学技术的进步,一些其他解题方法逐渐产生,如假设法、面积法、列表法、方程法、计算机法等等。[2][3][5][6]由鸡兔同笼还可以推广至线性方程组的求解问题等。[7][8][9]在中国古代数学著作中,类似的趣题还有老鼠打洞、百僧分馍等等。[10]现在的数学题目也有钢珠问题、得失问题。[2]鸡兔同笼的教学意义在于培养学生们对数学问题的思考方法,注重数学思维的有序性,重视理清思路,一步一步来解决问题。[11][12]

大约1500年前,《孙子算经》中记载了一道数学趣题——“鸡兔同笼”问题,是中国古代典型趣题之一。[1]在《孙子算经》中的记载为:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何。”[2]明代数学家程大位在《算法统宗》收录该题并将“雉”改“鸡”,沿用至今。[5]鸡兔同笼随中国文化传至日本,日本人将其改为:某处有鹤龟百头,只云足数和为二百七十二,求鹤龟各几何,并命名为“鹤龟算”。[6]鸡兔同笼的解法有多种,在《孙子算经》中使用“除减法”来解此题,随着数学技术的进步,一些其他解题方法逐渐产生,如假设法、面积法、列表法、方程法、计算机法等等。[3][4][6][7]由鸡兔同笼还可以推广至线性方程组的求解问题等。[8][9][10]

在中国古代数学著作中,类似的趣题还有老鼠打洞、百僧分馍等等。[11]现在的数学题目也有钢珠问题、得失问题。[3]鸡兔同笼的教学意义在于培养学生们对数学问题的思考方法,注重数学思维的有序性,重视理清思路,一步一步来解决问题。[12][13]

历史沿革

视频暂不可用
鸡兔同笼问题由来

在大约1500年前,鸡兔同笼问题就已经出现在中国的数学著作《孙子算经》中,其内容为:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何。答曰:雉二十三,兔一十二。[2]书中采用“除减法”来解决问题。明代程大位在《算法统宗》中收录此题,并把“雉”改成“鸡”,于是有了“鸡兔同笼”的说法。[5]这道经典的数学题后来传到日本,演变成为鹤龟算:某处有鹤龟百头,只云足数和为二百七十二,求鹤龟各几何。[6][14]

解题方法

《孙子算经》中原题的意思可以理解为:笼子里有若干只鸡和兔。从上面数,有35个头,从下面数,有94只脚。问鸡和兔各有几只。答案是鸡有23只,兔有12只。[1][3]

除减法

孙子算经》记载了一个最简单的解法:“上置三十五头,下置九十四足半其足,得四十七,以少减多,再命之。上三除下四,上五除下七。下有一除上三,下有二除上五,即得。”[3]

上文的大致意思是:把脚的总数除以2,得到47,然后减掉35个头就得到兔子的数目为12,再用35个头减去兔子的数量得到鸡的数量为23。这种方法做了一次除法和一次减法,因此叫除减法。[3]

列表法

列表是一个逐步猜测的过程,猜测0只兔,35只鸡,一共有70只脚,不对;猜测3只兔,32只鸡,一共有76只脚,也不对。根据猜测的结论,有序将数据列表,并逐一调整变化的过程,找到正确的答案。[1][7]

3532302523
0351012
7076809094

假设法

已知笼中共有只动物。

假设全为鸡,则应有只脚,而实际上有只脚,那么相差只脚。一只鸡有只脚,一只兔子有只脚,因此每将一只鸡换成一只免子时需要加只脚,如果要补足只,则需要加上兔子只,即剩余动物的只数为鸡的数目。[3]

假设全是兔子,则笼中应该有只脚,而实际上只有只脚,少了只脚。已知,每将一只免子换成鸡可减去只脚,如果要减去只脚,那么需要将兔交换为鸡的数目为

只,即剩余兔的只数[3]

鸡兔同笼
鸡兔同笼

 方程法

一元一次方程

一元一次方程是指只含有一个次数为1的未知数,并且含未知数项的系数不是零的整式方程。常用或()来表示。[9]

列一元一次方程可解鸡兔同笼问题:设兔有只,则鸡有只。[3]

由题意,可列一元一次方程

解得

因此鸡的数量有,兔的数量有

答:兔有12只,鸡有23只。[3]

二元一次方程组

二元一次方程组是指由若干个一元二次方程构成的一组方程,这些方程含有相同的两个未知数且次数均为一,其标准形式可以表示为: 不全为,不全为)[15][16][17]

列二元一次方程组可解鸡兔同笼问题:设鸡有只,兔有只。[3]

由题意,可列方程组

将代入到中,则得到

解得,

答:兔子有12只,鸡有23只。[3]

计算机法

计算机法本质为二元一次方程组代入法的使用,可设计如下程序:

令。设鸡有只,兔有只,给赋值,且

。当满足时,输出[3]

计算机法求解鸡兔同笼问题
计算机法求解鸡兔同笼问题

面积法

面积法体现了数学中的转化思想。如下图,用小长方形表示鸡,宽为,代表每只鸡有条腿;大长方形表示兔,宽为,代表每只兔有条腿。下面的长为代表鸡和兔共有只,两个长方形的面积之和为,代表鸡和兔一共有条腿。[4]

面积法求解鸡兔同笼问题
面积法求解鸡兔同笼问题

解:已知==

可得

因此,,

答:兔有12只,鸡有23只。[4]

普通问题

现在有鸡、兔共居一笼,鸡头和兔头一共有个,鸡脚和兔脚共有只,求鸡、兔有几只。[18]

解法一:假设笼中全是鸡,

则兔的只数为:

鸡的只数为:

解法二:假设笼中全是兔,

则鸡的只数为:

兔的只数为:

答:鸡有8只,兔有7只。[18]

和差问题

鸡兔同笼,鸡与兔共有 140 只,鸡脚比兔脚多 160 只,求鸡、兔各有几只。[18]

解:设兔有只,则鸡有只。

由题可知:

解得[18]

答:兔有20只,鸡有120只。

互换问题

鸡兔同笼,一共有脚 260 只,如果鸡和兔数量互换,一共有脚 280 只,求鸡、兔各有几只。[18]

解:设鸡有只,兔有只。

由题可列方程组:

由可知并代入到中 可得方程

解得,由可得[18]

答:鸡有50只,兔有40只。

老鼠打洞

原文:今有垣厚五尺,两鼠对穿。大鼠日一尺,小鼠亦一尺。大鼠日自倍,小鼠日自半。求几何日相逢,各穿几尺。[19]

翻译为现代文:一座城墙厚五尺,有大小两只老鼠各在城墙的一侧相对挖洞穿行。大鼠第一天穿墙一尺,小鼠也穿墙一尺。大鼠后一天穿墙尺数为第一天的2倍,小鼠后一天穿墙尺数为第一天的一半。问两只老鼠几天能把城墙挖穿。

类别/天数/尺数第一天第二天第三天
大老鼠124
小老鼠10.50.25
累计天数12?(求)
累计尺数24.55

由表可知:大小老鼠只需在第三天共挖尺,即可相遇。

设大小老鼠在第三天耗时天,

解得

总天数

答:两只老鼠需要天才能挖穿城墙。[19]

百僧分馍

原文:一百馒头一百僧,大僧三个更无争,小僧三人分一个,求大小和尚各几。[11]

翻译为现代文:寺庙里有个馒头和个和尚,大和尚吃个馒头,个小和尚分一个馒头,问大和尚和小和尚各有几个。

假设法:设一百个都是大和尚,应吃馒头的个数为,比实际的馒头数多

大和尚比小和尚多吃馒头数为:个。

则小和尚的人数为。大和尚的人数为

验算:馒头的个数为,假设正确。[11]

答:大和尚为人,小和尚为人。

钢珠问题

盒子里有大、小两种钢珠共个,重克,已知大钢珠每个重克,小钢珠每个重克。求盒子里的大小钢珠各有多少个。[3]

解:假设个全部都是大钢珠,则共重克,比原来重克,这克便是大钢珠换成小钢珠所要减去的重量。

所以小钢珠的个数为,大钢珠的个数为[3]

答:盒子里有大钢珠个,小钢珠个。

得失问题

强强在一次数学测试中,共做了道题,规定做对一题得分,做错一题倒扣分,结果强强得了分,求他做对了几道题。[20]

解:假设强强做对题,应得分,比实际得分分多。这多得的分是把其中做错的题换成做对的题得到的。做错题要倒扣分,就相当于错一题要扣分,所以做错的题有道,做对的题有道。

错题:道。

答对:道。[20]

推广问题

鸡兔同笼问题的二元一次方程解法本质上是求解二元线性方程,如果推广到m元,就形成了线性方程组,它可以用来求解更复杂的实际问题。[8][9]

概念

初等数学中,一次方程通常都叫做线性方程,而把有许多个未知量一次方程所构成的方程组,就叫做线性方程组。[8]

形如

其中为未知数,任意常数为一次项的系数,为常数项。[8]

矩阵消元法

(1),可用增广矩阵来表示。其中第一行是第一个方程,第二行是第二个方程,,第行是第个方程。[10]

其中第列是第个未知数的系数,最后一列为常数项。

线性方程组,可以通过变换矩阵来实现。用这种方法解线性方程组,就称为消去法解线性方程组,有时又称为分离系数法解线性方程组。[10]

例如:方程组的增广矩阵为[21]

方程可得方程组,则增广矩阵变为

由得方程组,则增广矩阵变为

由得方程组为,则增广矩阵变为

把代入可得方程式,则增广矩阵变为

所以方程,增广矩阵为

解得 [21]

克莱姆法则

定理:若方程组的系数行列式

[22]

则有唯一解:

其中 为将中的第列换成常数项所得到的阶行列式[22]

例如方程组为:

可以解得:

所以方程组有唯一解[22]

实际问题的求解

有甲、乙、丙三种化肥,甲种每公斤含氮70克磷8克、钾2克;乙种每千克含氮64克、磷10克、钾0.6克;丙种每千克含氮70克、磷5克、钾1.4克。为了搞农业科学试验,需要把三种化肥混合,要求总重量23千克,且含磷 149克、钾30克,求三种化肥各需多少千克。[23]

设甲,乙,丙三种化肥各需千克,由题意得方程组

这个方程组的系数行列式为,而

解得 [23]

答:甲,乙,丙各需化肥为千克

教育意义

“鸡兔同笼”问题的多种解法适用于小学各个年级的儿童,在解题思路上具有趣味性、可有序性和思考性,能培养儿童的数学兴趣,发展儿童的数学思维。美国的小学数学教材中包含大量关于鸡兔同笼问题的数学模式和模型内容。中国拥有独特的数学资源,如鸡兔同笼、盈亏术、百鸡术、求一术等。选用一些古代的典型问题可以为数学的思维方法开辟出一条具有中华民族特色的教学道路。[12]

数学意义

解答“鸡兔同笼”问题的假设法是一种思维策略,其基本思想是“以退为进”。中国现代数学之父华罗庚说过:善于“退”,足够地“退”,“退”到最原始而不失去重要性的地方,是学好数学的一个诀窍。因而假设法具有重要的思维价值和广泛的现实意义。[12][24]

此外,古人所提出的“鸡兔同笼”问题,是一个数量关系的问题模型,可以用假设法、除减法、列表法等解决与该模型相关的问题。这体现了数学模型的思想,在现代数学中具有重要意义。随着现代数学和电子计算机的发展,建立数学模型成为重要目标之一。数学建模可以将实际问题转化为数学问题,揭示现象背后的规律。[12][24]

参考资料 24

  1. 参考 1
  2. 参考 2
  3. 参考 3
  4. 参考 4
  5. 参考 5
  6. 参考 6
  7. 参考 7
  8. 参考 8
  9. 参考 9
  10. 参考 10
  11. 参考 11
  12. 参考 12
  13. 参考 13
  14. 兔年说兔③ - 鸡兔同笼与兔子数列 — 今日头条
  15. 参考 15
  16. 参考 16
  17. 参考 17
  18. 参考 18
  19. 参考 19
  20. 参考 20
  21. 参考 21
  22. 参考 22
  23. 参考 23
  24. 参考 24
广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容