故事
张丘建,南北朝时期北魏人,是我国古代一位伟大的数学家。他的《张丘建算经》,是我国古代数学十大经典之一,内有等差级数、二次方程、不定方程等问题,对我国数学的发展起过重要作用。
张丘建小时喜欢读书,尤喜数学。日常生活中,遇到计算方面的难题,别人不会,他却能解决,当时就被人称为数学神童。他长大成名后,关于他小时候在计算方面的故事流传甚多。这里介绍的“百钱买百鸡”的`故事,便是其中的一个。
张丘建家中几代人都以养鸡为业。他的父亲张公尤善养鸡。他家的鸡,个大肉多,特别是当鸡瘟流行时,别人家的鸡常常死光,而他家的鸡却安然无恙。因此,前来买鸡的客人自然很多。客户来买鸡,鸡的品种、大小不同,价格也不相同,买得多时,计算就颇麻烦了。这时,往往是父亲还在费力地相加,小丘建已张口说出总价。街坊四邻和买鸡客人见了,大为惊讶。因此,附近有人遇上了难以计算的问题,便常来找他帮忙。
当地县令听说此事,不肯相信,遂决定考一考张丘建。他派人把丘建的父亲张公找来,问道:“你卖鸡多少钱一只?”张公回答:“公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只。”县令说:“好,现在就按你说的价钱,给你一百文钱,买一百只鸡。回去给我挑一百只鸡,立即送来。”他想,来回路上需用两个时辰,这样复杂的问题,我看你儿子要多少时间才能算清。
张公回到家中,对儿子一说,张丘建略一思考,说:“一百文钱,可以买四只公鸡,十八只母鸡,再七十八只小鸡,正好不多不少一百只。给他送去吧!”张公连忙按儿子所说挑选了一百只鸡,赶回县衙。县令见刚好两个时辰多一点,再按送来的一百只鸡计算价格,正好一百文。接着,县令又拿出一百文钱,仍要一百只鸡,只是公鸡、母鸡和小鸡的数目不能和这次一样。张公回家,在约定的时间内,又送来八只公鸡、十一只母鸡和八十一只小鸡,共一百只鸡。县令一算,仍是分文不差。
这一下,县令来了兴致,再拿出一百文钱,买一百只鸡,公鸡、母鸡、小鸡数则要和头两次都不一样。他还嘱咐张公,送鸡时,务必把小丘建也带来。张公经过两次折腾,听县令说又要带上儿子,不知是祸是福。他想儿子毕竟才八岁,万一算错了……。他回到家中,脸上便带有愁容。张丘建听父亲说完情况,笑着说:“父亲放心,你抓十二只公鸡,四只母鸡,八十四只小鸡,我陪你一起送去就是了。”
把鸡送到县衙,县令再一计算,鸡数和钱数又是正好。县令大为高兴,把小丘建拉到自己身旁,抚摸着他的头说:“好一个神童!果然名不虚传。本县令也为你感到光彩。”他征得张公同意,便把小丘建留在了县衙里读书。
张丘建长大后,终于成为一位伟大的数学家。
数学解法
从现代数学观点来看,实际上是一个求不定方程整数解的问题。
解法如下:
设公鸡、母鸡、小鸡分别为x、y、z 只,由题意得:
① x+y+z =100
②5x+3y+(1/3)z =100
有两个方程,三个未知量,称为不定方程组,有多种解。
令②×3-①得:7x+4y=100;
所以y=25-7x/4
x y 均为正整数,分析上述等式
可得 x=0 或 4 或 8 或 12
由此可算出y,z
java语言解法
1 | public static void main(String[] args) { |
运行结果: