著名小说《镜花缘》里有段故事:
元宵节,宗伯府的女主人卞宝云想考一考精通筹算的才女米兰芬,请她算一算楼房中灯的数目。她告诉米兰芬,楼上的灯有两种,一种上做三个大球,下缀六个小球,计大小球九个为一灯;另一种上做三个大球,下缀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,
则是 b-a兔数,a-( b-a)是鸡数。
其具体算法过程是:
这种解法不但巧妙,而且有简便的筹算程序。可以看出米兰芬正是采用了这种解法。
对于“鸡兔同笼”问题,读者还可想出各种解法。例如,可以设想鸡、兔都是两只足,那么从35个头可知,应该只有70只足,但现在笼中实有94只足,两者相差24只,这是因为我们设想兔子只有两只足,每只少算两足,可见兔子数是12只。
“鸡兔同笼”问题是算术中一个典型问题,历代“算学”课本大都引用此题,但题目与解法不尽一样。例如,在元代的著作《丁巨算法》一书中,原题变成:
今有鸡兔100,共足272只,问鸡、兔各几何?
书中先设想全部是兔,那么100只兔该有400只足,但现在实际只有272只足,两者相差400-272=128只,这是把鸡设想当作兔时多计算的足数。每只鸡多算两足。可见鸡数就是128的一半,即64只;兔数为36只。
《孙子算经》对我国及一些外国的数学发展都有一定的影响。“鸡兔同笼”问题传到日本,变成了“鹤龟算”,改成这名词可能是因为日本人特别欣赏乌龟的缘故。