中国人应知的古代科技常识
上QQ阅读APP看书,第一时间看更新

3 什么是“百鸡术”?

百鸡术得名于《张丘建算经》中的百鸡问题,是中国古代最早明确给出一次不定方程组通解的算法。

张丘建是生活在北魏时期的数学家,他的百鸡问题如下:公鸡每只值五钱,母鸡每只值三钱,小鸡三只值一钱;现在要用一百钱来买一百只鸡,其中公鸡、母鸡和小鸡各买多少?

我们用x、y、z表示公鸡、母鸡和小鸡的数目,便可列出不定方程组:

5x+3y+1/3z=100

x+y+z=100

题目中隐含一个条件,即x、y、z都为小于100的正整数,张丘建给出了三组解:

x1=4,y1=18,z1=78

x2=8,y2=11,z2=81

x3=12,y3=4,z3=84

书中还指出,在已知一组解的前提下,如果将公鸡数加4,母鸡数减7,小鸡数加3,则可得到另一组解。用符号表示为:

x=4+4t,y=18-7t,z=78+3t

其中t取0、1、2时即得到上面的三组正整数解。

此后百鸡问题作为趣题一直在民间流传,许多数学家都对它做过研究。清代咸丰年间的时曰醇著有《百鸡术衍》一书。百鸡问题还流传到了印度,在十二世纪的巴斯卡拉的著作中出现了与百鸡问题设数完全相同的题目,区别只在于将百鸡改为百禽。