Tag Archives for

鸡兔问题

一类属于二元一次方程组的有简捷解法的古老问题是” 鸡兔问题”,它起源于我国古代的一本数学书《孙子算经》(作者孙子的生平不详,大约是公元4世纪的人,不是《孙子兵法》的作者孙武)。《孙子算经》卷下第 三十一题是:”今有雉、兔同笼,上有三十五头,下有九十四足。问雉、兔各几何?该书给出了解法,最后的答案是:雉二十三,兔一十二”这里的”雉”俗称”野 鸡”,这类题目在我国通常称为”鸡兔问题”,传到日本后,典型的题目变成了”龟鹤同笼”,因此他们对这一类型的题目通称为”龟鹤问题”。

鸡兔问题在我国民间流传很广,在我国的农村或牧区,田地地头或人们休息时,有时会听到有些老年人向青少年提出这样的问题:”鸡免同笼三十九,一百条腿地上走,有多少只鸡?多少只兔?”这种题的正规解法是设鸡为x只,兔为y只,列出一元一次方程组

x+y=39,2x+4y=100

解此二元一次方程组就可以得到答案,应该说解这样的题并不困难。但是,由于它是在田边地头提出来的问题,一般是不用纸笔进行列方程解方程一类的计算,通常是用口算加心算(民间叫做”口碾账”)来求答案的,有时往往用的是简捷巧妙的算法: 以”鸡免同笼三十九,一百条脚地上”为例,有一种口算加心算的推理过程是这样的:如果生只兔子提起前面两条腿,那么每只鸡和兔子都只有两条腿站 在地上,39只鸡和兔在这时应该是78条腿站在地上,比先前的100条腿少了22条,这些腿是兔子们提起来的。由于每只兔子提起来两条腿,现在共提起来 22条腿,所以知道兔子一定是11只,39只鸡和兔中有11只是兔子,这说明其中的鸡一定是28只。

还有其他一些简捷解法,例如若把鸡当成3有4条腿的话,39只鸡和兔此时就会有156条腿,比100条腿多出56条腿,这时因为每只鸡多算了两条腿的缘 故。每只鸡多算两条腿就多出了56条腿,可见鸡是28只,鸡和兔一共是39只,鸡是28只,兔应当是11只。由于是心算,数字小一些算起来方便些,出错的 机会也少些,所以虽然两种算法道理相仿,但后一种解法略比前者繁些。

作为练习,我们可以用上述方法计算《孙子算经》中的那个已经有一千五百多年历史的趣题,算完后请自己核对答案。
第一届华罗庚金杯少年数学邀请赛时,一位主试委员将鸡免问题改成了一则有趣题,颇有意思,写在下面供参考。

例2.7 松鼠妈妈采松子,晴天每天可以采20个,雨天每天只能采12个,它一连共采了112个松了,平均每天采14个,问这几天当中有几天有雨?

解1 松鼠妈妈共用了
112÷14=8(天)
如果8天都是晴天,就能采到松子
20×8=160(个),
一个雨天比一个晴天少采松子
20-12=8(个),
现在共少采了
160-112=48(个)
因此雨天有
48÷8=6(天)

解2 松鼠妈妈共用了8天采松子,如果8天都是雨天,只能采到松子
12×8=96(个),
一个晴天比一个雨天要多采松子
20-12=8(个),
现在共多采了
112-96=16(个)
因此晴天有
16÷8=2(天)
雨天有
8-2=6(天)

评说:这里用的就是前面所说的”鸡免问题”的那两个简捷解法,对于参赛的小学生来说,不可能将列方程作为考试要求,因此也不会用列方程解方程的方法写标准答案。

以上问题都是关于一些特殊情况下的二元一次联立方程的简捷解法,我们在前面已经说过,列方程解方程是数学的基本功,是必须牢牢掌握的,简捷解法必须建立在有牢固的基本功的基础上。

一次联立方程在数学中称为”线性方程组”,它的示知数可以是2个、3个、4个或很多个,但每个方程都只能是一次方程,在我国,二千年前成书的《九章算术》 和公元263年由三国时魏国人、我国杰出数学家刘徽对《九章算术》所作的注释中,系统地阐述了解这类方程组的方法,称为”方程术”(兼用”正负术”),这 就是今天的线性代数学中用矩阵的初等变换将增广矩阵化为阶梯形矩阵的方法,过了一千几百年,在19世纪初,杰出的德国数学家高斯也发现了这一方法,从那以 后一直到今天,世界各国(包括我国)的书上都称这方法为”高斯消元法”,这其实”高斯消元法”是中国古法(有兴趣的读者请参看1985年第8期《数学通 报》上拙著《线性代数学简史》与1992年第1期《教材通讯》上拙著《高斯消元法是中国古法》)

猜透出题者的本意

当代大数学家波利雅(Polya)有句名言:“你能一眼看到底吗?”一道难题解决以后,不应该偃旗息鼓不想再前进了。通过认真的分析总结,去芜存菁,咀嚼消化,往往会对原来的题目有更深一层的理解,有时甚至还会找到更好的解法。

古生物学家在找到一些头盖骨或者其他化石时,常常能够据以恢复原有的动物形象,例如恐龙等。

一个好的数学题目,往往蕴藏着拟题者的一片苦心。高明的解题者能够猜到拟题人的思路,提示其真实意图,在这里,题目起了一块化石的作用。下面举一个实例。原问题的提法如下:

如果:

(ac-bb)/(a-2b+0)=(bd-cc)/(b-2c+d),

则这两个分式都等于

(ad-bc)/(a-b-c+d)。

通过繁复的计算是可以证明结果来的,但是问题的实质了解却是无所裨益。

现在请注意,ac-bb=0是a、b、c三数成等比数列的条件,而a-2b+c=0是 a、b、c三数成等差数列的条件。此外,还可以注意到分子上有ad,分母上对应有a+d;分子上有-bc,分母上对应着-(b+c)。对其它两个式子,这个性质也保持着,例如分子上有-bb,则分母上有-2b等等。

对这类问题,习惯上的解法是引入一个k,即可设

(ac-bb)/(a-2b+c)=k,

于是

(bd-cc)/(b-2c+d)=k,

然后再求证

(ad-bc)/(a-b-c+d)=k。

对上式,一位人工智能研究家找出了好几种解法,但没有一种方法能使他感到满意。后来他注意到第一式

(ac-bb)/(a-2b+c)=k

可以化成

ac-k(a+c)=bb-2bk,

式子的右边启发他要配方,这样一来他就得到

(a-k)(c-k)=(b-k)(b-k)。

这就意味着,原来第一式所表示的真实用意是:(a-k)、(b-k)、(c-k)成等比数列。

于是不难看出,只要换换字母,第二式告诉我们的是:(b-k)、(c-k)、(d-k)成等比数列,因而就有(a-k)、(b-k)、(c-k)、(d-k)成等比数列。

但是我们知道,任一个等比数列的连续四项中,第一项与第四项的乘积必等于第二项与第三项的乘积,故得:

(a-k)(d-k)=(b-k)(c-k)。

把这个式子展开,再去消kk,可得

(b+c-a-d)k=(bc-ad),

所以

k=(ad-bc)/(a-b-c+d)。

于是解题者猜透了隐藏在出题者心底深处的想法,如果从四个数a、b、c、d中各减去一个常数k,那么,余下的数要成为等比数列,试问a、b、c、d、k应该满足什么条件?

我们得到的教益是:哪里有模式,哪里就有意图

  • 最新日志

  • RSS PANTAO.NAME

  • 最新评论

  • 标签