书城科普数理化之谜
2835300000004

第4章 难色的仙鹤图

传说宝华寺曾藏有一幅鲜为人知的仙鹤图。这仙鹤图为数海法师所作,在他临终前秘传给他的一位弟子,并嘱咐他死后49天才能打开。数海法师圆寂后,这位弟子总想打开图看看,但又不愿违背师父遗嘱。过了42天,实在坚持不下去了,当天半夜,他打开图一看,原来是张仙鹤图。画面上有7棵松树,每棵松树上均有7只仙鹤,松树下面写了一个黑色的“七”字,但有一棵松树例外,这松树上一只仙鹤也没有,松树下面写了一个红色的“七”字。

红色的“七”字是什么意思呢?弟子们无法理解。不过,因为数海法师神通广大,精通算术。人们相信,图中必有奥秘。后来,有了负数概念,有人猜测,红色的“七”字,表示负数(-7)。但是,松树上有(-7)只仙鹤,又是什么意思呢?始终是个谜。自从秦始皇焚书坑儒后,宝贵的仙鹤图失传,这事情几乎被人们遗忘了,但是,过了2000多年,人们又想起了仙鹤图,这与下面的椰子问题有关。

5个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途劳累,大家顾不上椰子,很快就睡觉了。第一个水手醒来后,把椰子分成五堆,余一只给了猴子,自己藏了一堆又去睡觉了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰好又多一只给猴子,私藏一堆,再去入睡。天亮以后,大家发现椰子已剩下不多了,各人心里有数,但谁也不说。为了公平,大家把余下的椰子又分成五堆,每人得一堆。这时,巧得很,又余下一只,再给猴子。试问原先共有几只椰子?

这是一道世界有名的趣味数学题。

设最初共有椰子x只,天亮后大家一起分配时每人分得y只。

根据题意,可得

x=5A+1,

4A=5B+1,

4B=5C+1,

4C=5D+1,

4D=5E+1,

4E=5y+1。这是一个不定方程组,化简后可得到

1024x=15635y+11529。(*)

它有无数组解,人们的兴趣是求其最小正整数解。如果用常规的方法(例如,用大衍求一术)来解,是很繁难的。

世界著名物理学家李政道在访问中国科技大学时,曾在少年班提到这个题目,并介绍了怀德海的解法。

怀德海是英国数理逻辑专家,对此他给出了一个异乎寻常的解法。

首先,从方程(*)可看出,如果某数x;是方程的一个解,则x1+15625也是方程的解。这一点我们也可用下面的方法来考虑,由于原有的椰子曾被连续6次分成5堆,因此如果某数是该方程的一个解时,则把此数加上56(56=15625)后,仍旧是方程的解。通常人们解不定方程应用题,总是只注意它的正整数解,可是怀德海却与众不同,他的方法异乎寻常,他先借助负整数来帮忙,在找到一个负整数解之后,再过渡到正整数。就像在几何中引用辅助线、辅助角一样。

在方程(*)中,设y=-1,则可得

1024x=4096,∴x=-4。

既然-4是这个不定方程的一个特解,那么,则-4+15625也是方程的解。可见,所求的椰子数应是-4+15625=15621(只)。

怀德海说,他是用下面的想法“领悟”出-4是不定方程的一个特解的:

“假定当初有-4只椰子,则在其中硬拿出一只来给猴子后,根据正、负数减法,还剩下-4-1=-5(只),分成五堆,每堆便有-1只椰子。私自藏起一堆之后,还有四堆,每堆有-1只椰子,所以一共仍然是(-4)只椰子,这正好仍然回到没有分以前的情况。照这样分法,不仅5次、6次……可以一直分下去,都符合题目之要求。因此,在这个题目中,-4是一个神奇的数。

按照常理来说,每堆椰子数为“负数”是毫无意义的,但从纯数学的观点来看,却是能满足题中分配方法的,并且是能帮助解决问题的。它正像物理学中的“负质量”或“虚功”一样,在解决具体问题时是有用的。

怀德海的巧妙解法传到我国后,人们想起2000年前的仙鹤图。既然,一堆椰子的数目可以设想是负数,那么,一棵松树上的仙鹤的数目,也可设想为负数。可以推测,数海法师早就掌握了利用负数解决问题的高度技巧。

才女算灯

著名小说《镜花缘》里有段故事:

元宵节,宗伯府的女主人卞宝云想考一考精通筹算的才女米兰芬,请她算一算楼房中灯的数目。她告诉米兰芬,楼上的灯有两种,一种上做三个大球,下缀六个小球,计大小球九个为一灯;另一种上做三个大球,下缀18个小球,计大小球21个为一灯。大灯球共396个,小灯球共1440个。楼下的灯也分两种,一种一个大球,下缀两个小球;另一种是一个大球,下缀四个小球,大灯球共360个,小灯球共1200个。她请米兰芬算一算楼上楼下四种灯各有多少个。米兰芬想了一想。先算楼下的,她将小灯球1200折半,得600,再减去大灯球360,得240,这是一大四小灯球的灯的盏数。然后用360减240,得120,这便是一大二小灯球的灯的盏数。再算楼上的,她先将1440折半,得720,减大灯球396,余324,再除以6,得54,这是缀十八个小球灯的灯的盏数。然后用3乘以54,得162,用396减162,得234,用234除以3得78,即下缀六个小球灯的灯78盏。卞宝云让人拿做灯的单子来念,果然丝毫不差。大家莫不称她为神算。若引进未知数列便容易解决,但米兰芬的神算法是从哪里来的呢?应该说,故事人物米兰芬是读了著名古书《孙子算经》。

《孙子算经》是我国古代一部较为普及的数学著作,在唐代初期用作“算学”的教科书。全书共分三卷,上卷叙述筹算的制度、方法和度量衡的单位;中卷举例说明筹算分数法,包括面积、体积、等比数列等计算题、应用题;下卷收集了不少有趣的名题、难题。书中对各种问题的解法很有特色,充分显示了中国筹算数学的特点。例如,下卷第31题是:

“今有鸡兔同笼,上有35头,下有94足,问鸡、免各几何?”

这是后世“鸡兔同笼”题的始祖。书中的解法是:设头数是a,足数是b,则是12b-a兔数,a-(12b-a)是鸡数。

其具体算法过程是:

头35

足94半其足头35

半足47下一上头35

兔12上一下鸡23

兔12

这种解法不但巧妙,而且有简便的筹算程序。可以看出米兰芬正是采用了这种解法。

对于“鸡兔同笼”问题,读者还可想出各种解法。例如,可以设想鸡、兔都是两只足,那么从35个头可知,应该只有70只足,但现在笼中实有94只足,两者相差24只,这是因为我们设想兔子只有两只足,每只少算两足,可见兔子数是12只。

“鸡兔同笼”问题是算术中一个典型问题,历代“算学”课本大都引用此题,但题目与解法不尽一样。例如,在元代的著作《丁巨算法》一书中,原题变成:

今有鸡兔100,共足272只,问鸡、兔各几何?

书中先设想全部是兔,那么100只兔该有400只足,但现在实际只有272只足,两者相差400-272=128只,这是把鸡设想当作兔时多计算的足数。每只鸡多算两足。可见鸡数就是128的一半,即64只;兔数为36只。

《孙子算经》对我国及一些外国的数学发展都有一定的影响。“鸡兔同笼”问题传到日本,变成了“鹤龟算”,改成这名词可能是因为日本人特别欣赏乌龟的缘故。