《孙子算经》是唐初作为“算学”教科书的著名的《算经十书》之一,共三卷,上卷叙述算筹记数的制度和乘除法则,中卷举例说明筹算分数法和开平方法,都是了解中国古代筹算的重要资料。下卷收集了一些算术难题,“鸡兔同笼”问题是其中之一。原题如下:   令有雉(鸡)兔同笼,上有三十五头,下有九十四足。

  问雄、兔各几何?

  原书的解法是;设头数是a,足数是b。则b/2-a是兔数,a-(b/2-a)是雉数。这个解法确实是奇妙的。原书在解这个问题时,很可能是采用了方程的方法。

  设x为雉数,y为兔数,则有

  x+y=b, 2x+4y=a

  解之得

  y=b/2-a,

  x=a-(b/2-a)

  根据这组公式很容易得出原题的答案:兔12只,雉22只。

  鸡兔同笼问题是一个有趣的算术题,对初学初学算术四则应用题的学生的逻辑推理能力和运算技巧很有帮助。因而历代算书中多有引录。但在题目及解题方法上却各有不同。

  元代《丁巨算法》 (1355)中的题目为今有鸡兔一百,共足二百七十二只,只云鸡足二, 兔足四,问二色各几何?所附解法与《孙子算经》不同。其方法是“置共一百,以四乘之,得四百,与总足相减,余一百二十八,折半得鸡数。反减得兔。倍一百得二百,减总足,余七十二,折半得兔。反减得鸡,亦通。”这是另一典型的算术解法,先设全部都是兔。则总足数是头数的四倍,得四百。与实际总足敷相减,即知把鸡误当为兔时多计算的足数。每只多算二足,故折半即为鸡数。此题的答案为:鸡64只,兔36只。

  “鸡兔同笼”问题在民间也广为流传,甚至编入了小说。在我国著名的古典小说《镜花缘》里就有这样一段故事:宗伯府的女主人卞宝云邀请女才子们到府中的小鳌山观灯。当众才女在一片音乐声中来到小整山时,只见楼上楼下俱挂灯球,五彩缤纷,宛如列星,高低错藩,竟难分辨其多少。

  卞宝云请精通筹算的才女米兰芬,算一算楼上楼下大小灯球的数目。她告诉米兰芬,楼上的灯有两种,一种上做三个大球,下缀六十小球,计大小球九个为一灯;另一种上做三个大球,下缀十八个小球,计大小球二十一个为一灯。楼下的灯也分两种,一种一个大球,下缀两个小球;另一种是一个大球,下缀四个小球。她请米兰芬算一算楼上楼下四种灯各有多少个。米兰芬想了一想,请宝云命人查一下楼上楼下大小灯球各多少个。查的结果是:楼上大灯球共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盏。卞宝云让人拿做灯的单子来念,果然丝毫不差。大家莫不称为神算。这个问题若用方程解之自然更简单,但用算术方法解之确也别具一格。

  一个算术题竟能辗转传抄,世代相授,历经千年而不衰,其内容之有趣,解法之奇巧,不能不说是一个很重要的原因。

选自《数海钩沉——世界数学名题选辑》