中国有五千年的文明,在这个过程中,不光留下了四书五经等儒学经典,唐诗宋词等文学作品,也留下过许多数学和科学的著作。例如汉朝时成书的著作《九章算术》,总结了自秦代以来中国的数学成就,收录了246个数学问题,涵盖图形、比例等内容,并提出了方程组和勾股定理的思想。魏晋时期的数学家刘徽的著作《九章算术注》弥补了《九章算术》缺少定义和证明的缺陷,又将中国数学向前推进了一大步。
问题出处南北朝时期,中国又出现了另一部数学著作《孙子算经》,他的作者“孙子”并不是春秋时期的军事家,具体身份已不可考。在这部著作中最著名的一个问题就是“鸡兔同笼”问题。这个问题对整个世界的数学界都有很大影响,比如传播到日本,就称为“龟鹤算”。现在,鸡兔同笼也收录在我国的小学课本中。
鸡兔同笼问题的原文是:“今有雉、兔同笼,上有三十五头,下九十四足。问雉、兔各几何?”
意思是说:现在笼子里有鸡(雉)和兔子在一起。从上面数一共有三十五个头,从下面数一共有九十四只脚,问一共有多少只鸡、多少只兔子?
古籍解法我们知道:鸡和兔子都有一个头,鸡有两只脚,兔子又四只脚。现在已知鸡和兔子的头数和脚数,求鸡和兔子各有多少。孙子算经中也给出了算法:
“上置三十五头,下置九十四足。半其足,得四十七。以少减多。”
我们来翻译一下:
首先,将脚的总数除以2,即94÷2=47
然后,用这个数字减去头数35,即47-35=12就是兔子的头数。
于是鸡的头数自然是用总头数减去兔子头数,35-12=23只鸡。
这个算法的原因在哪里呢?我们来解释一下。
首先,用脚数除以2的含义就是让每只动物的脚数都变为原来的一半。鸡原本有两只脚,抬起一只金鸡独立就好。兔子有四只脚,需要把两个前腿抬起来。这样一来,每只鸡有1只脚,每只兔子有两只脚,一共有94÷2=47只脚。
第二步,将脚数47减去头数35得到12。这个意思是说:让每只动物的脚再减少1只。由于鸡已经金鸡独立了,再减少一只就坐在地上了。兔子还剩下2只脚,减少1只就是单腿站立了。
由于此时鸡已经没有脚了,而兔子只有一只脚站在地上,所以这12只脚就代表了12只兔子。一共有35只动物,所以鸡就是23只了。
总结起来,《孙子算经》的算法就是利用脚数的变换,将“鸡2只脚、兔子4只脚”这个麻烦事变成“鸡没有脚,兔子1只脚”的简单事。在《奔跑吧兄弟》中的男嘉宾包贝尔就是利用这种方法解决鸡兔同笼问题的,瞬间圈粉无数。
方程解法当然,用这种方法解决问题,还是有点复杂。每个问题都要重新分析和求解。在现代数学中,方程法是解决这种问题的利器。其实,在《九章算术》中就提出了“方程”的概念。只是,中国古代对于方程尤其是高次方程的解法还停留在数值解阶段,没有给出通用的解析解。
如果我们用方程法解决鸡兔同笼问题,整个解法就变得非常傻瓜化了。
我们设鸡有x只,兔子有y只,那么鸡有2x只脚,兔子有4y只脚,根据题目中的条件可以列出方程组:
这是一个二元一次方程组,它的基本解法是消元法,即把某个等式中的x或y消掉,求出另一个量来。
首先,我们对第二个方程两边同时除以2, 得到:
然后,我们再用这个新的方程与第一个方程两边做差
再把y=12代入第一个式子
我们会发现,孙子算经将脚数除以2再减去头数的做法其实与方程解法中的首字母化成相同,再做差的方法如出一辙。只可惜,我们的数学研究多数以解决实际问题为主,而缺少更加普遍系统化的解法总结,西方数学家在这方面的工作则深刻的多。
也许,在许多国人看来,问题解决就好,不需要再花精力去研究纯数学这种“无用”的知识吧。然而,许多一流的数学家都不是为了解决实际生产中的问题而研究数学,他们只是因为对数学的热爱和兴趣。而他们的成果却在不经意之间、或在几百年后,深刻的影响了世界。
留个作业讲了这么多,是不是可以留个习题了?《九章算术》卷8种有这样一个问题:
“今有上禾三秉,中禾二秉,下禾一秉,实三十九斗;上禾二秉,中禾三秉,下禾一秉,实三十四斗;上禾一秉,中禾二秉,下禾三秉,实二十六斗。问上、中、下禾实一秉各几何?”
意思是说:现在这里有上等黍3捆、中等黍2捆、下等黍1捆,打出的黍共有39斗;有上等黍2捆、中等黍3捆、下等黍1捆,打出的黍共有34斗;有上等黍1捆、中等黍2捆、下等黍3捆,打出的黍共有26斗。问1捆上等黍、1捆中等黍、1捆下等黍各能打出多少斗黍?
显然,这是一个三元方程问题,大家可以尝试着用算术法和方程法,把它解决。