一、特殊的算筹
我国古代数学是运用算筹来计算的,算筹的名称叫做策,如图1所示.
图1 陕西千阳出土的西汉算筹
有趣的是,《周易》中揲蓍成卦的方法也是通过蓍草或竹签的运算来得到的,蓍草或竹签的名称也叫策。算筹和卦爻不仅有相同的名称,而且有相同的形状。图1中左边的长策像是阳爻,右边一分为二的短策则很像阴爻。因此我们可以把卦、爻当作算筹用来解数学题,而基本不涉及卦、爻的其他数学背景。
我国古代还使用算盘计算。算盘被称为没有储存器的计算机,有人把它和中国古代四大发明并列,称为中国古代的第五大发明。在汉代以前的算盘梁上只用一颗珠子。图2的算盘中拨动的珠子从左至右分别表示1, 2, 3, 4, 5, 6, 7, 8, 9;合起来则表示一个九位数123456789。
图2
如果把一个六爻卦当做算盘上的一档,最上的一爻代表梁上的一颗珠子,当它拨下到横梁时用阳爻,未拨下时则用阴爻。第一爻至第五爻(从下往上数)代表下珠,已拨上时用阳爻,未拨上时则用阴爻。那么,便可以像算盘那样把1~9这些数字表示出来,如图3所示:
1 2 3 4 5 6 7 8 9
图3 卦爻代替算珠表示数
算盘上无法表示多位数(如2300)末尾的0,在易卦中则可用六阴爻的坤卦(
图4 2300的表示
由此可见,卦爻也可以代替算珠进行类似于算盘的作用。
在这一单元我们只把卦、爻当算筹或算珠使用,基本不涉及卦、爻的其他数学背景。我国古代数学家十分注意数形结合,当我们解数学题时,用卦爻构造图形,达到“析理以辞,解体用图”的目的,确能有使“览之者思过半矣”的功能。
01从鸡兔同笼与盈不足术谈起
我国古代算经中有许多名题、趣题,流传久远,誉满中外。但古代算经中说明解题方法的“术”时,只有具体算法而很少说明其中的道理。当我们把其中一些问题通过卦爻建立模型来解答时,模型的结构不仅合乎“术”的文字,而且阐明了“术”的逻辑推理过程。例如鸡兔同笼与盈不足术问题模型,特别是盈不足术的“双设法”,几乎是解答算术应用问题的万能工具。因此,我们先从这两个古典名题谈起。
1.鸡兔同笼
我国古代数学著作《孙子算经》中有一道众所周知的鸡兔同
笼问题,很有名气:
今有雉(野鸡)兔同笼,上有35头,下有94足。问雉兔各几何?
解 我国古代不用列方程解应用题的方法,而是把各种应用问题分型划类,提炼出若干模型,然后针对各种模型,设计一种或数种巧妙的算法。我们利用易卦来建立这个问题的解法模型。
假设画了若干个二爻卦和四爻卦,如图1所示:
图1 鸡兔同笼问题的易卦模型
如果把一个卦看作一个动物,一个爻看作动物的一足,则二爻卦可看作鸡,四爻卦可看作兔,爻的总数为足数,卦的个数则为头数。中间的红线把爻数分成了相等的两部分,即把爻的个数去掉一半后,将剩下的一半减去头数,便得兔的个数。
《孙子算经》给出的算法与此完全吻合:
“术曰:上置头,下置足,半其足,以头除足,以足除头,即得。”
由图1的模型便得到鸡兔同笼问题的算法:
第一步:将足数除以2(半其足):
94÷2=47
第二步:将足数的一半减去头数,即得兔数(以足除头。也可以头除足,得出负数,取绝对值):
47-35=12
第三步:将头数减去兔数,即得鸡数(35-12=23)。
下面我们利用易卦来建立这类问题的一般模型:
笼中有甲、乙两种动物,甲种动物有m个脚,乙种动物有n个脚(m>n)。两种动物共有p个头,q个脚。问两种动物各有几个?
如图1,画出甲、乙两种卦,甲种卦有m个爻,乙种卦有n个爻(m>n)。两种卦共有p个卦,q个爻。每个卦的上面n个爻都画成阳爻,共有pn个阳爻;下面的爻都画成阴爻,共有q-pn阴爻。因为n爻卦下面已没有爻,所以阴爻都在m爻卦下面,每卦下面还有m-n个阴爻。
图2 广义鸡兔同笼问题易卦模型
如果m爻卦有x个,则阴爻的个数又为x(m-n).因此有等式
x(m-n)=q-pn
由此得
对于《孙子算经》中的鸡兔同笼问题,便可以直接利用公式① 、②计算。这时p=35,q=94,m=4,n=2,代入①式,即得
评注 当我们把卦、爻解释为其它事物时,还能解许多别的数学
问题。例如工程问题:
一件工程,甲m天完成,乙n天完成(m≥n)。甲先做若干天后,乙接着做,共作了p天完成。问甲、乙各做了几天?
当我们把工程分为mn等份,则甲每天完成n份,乙每天完成m份,设甲、乙分别做了y、x天完成,即转化为鸡兔同笼问题:
p——两种动物的总头数;
q——两种动物的总足数(mn);
n——每只甲种动物足数;
m——每只乙种动物足数。
代入公式① 、②,即可求得甲、乙工作的天数。
2.和尚吃馒头
我国明代数学家程大位的《直指算法统宗》里有一道和尚吃馒头的问题:
一百馒头一百僧,大僧三个更无争。
小僧三人分一个,大小和尚各几丁?
解一 这个问题可以化为“鸡兔同笼”的问题,利用鸡兔同笼的公式①求解。
为了避免分数,我们设想每一个馒头都均匀地分成了3片。这样,每个大和尚吃9片,每个小和尚吃1片.把和尚的人数看作卦数p,馒头的片数看作爻数q。即可化为鸡兔同笼问题:
今有大、小和尚若干人,大和尚每人吃m片馒头,小和尚每人吃n片馒头(m>n)。大小和尚共有100人,吃了300片馒头。问大小和尚各有几人?
这时p=100,q=300,m=9,n=1,代入公式①,得
小和尚人数:100-25=75(人).
解二 如图1,画一个四阳爻卦,4个阳爻可以表示4个馒头,也可以表示4个和尚。
图1
从左边标识看,1个大和尚吃3个馒头,3个小和尚吃1个馒头,4个和尚吃4个馒头;从右边标识看,3个馒头供应1个大和尚,1个馒头供应3个小和尚,4个馒头供应4个和尚。这个四阳爻卦既可表示4个馒头,又可以表示4个和尚(一大三小),正好给出4个和尚吃4个馒头的模型。因为100个和尚恰好可以分成25个4人组,由此可知,有25个大和尚,25×3=75个小和尚。
《直指算法统宗》的解法是:“置僧一百为实(被除数),以三一并(和)得四为法(除数)除之,得大僧二十五个。”正是本题所用的四四分组方法。
解三 我们也可以用“四象”构图来解此题。如图2,在四象图中,如果用阳爻表示和尚,阴爻表示馒头,则恰有4个和尚(3小1大),
4个馒头,图左表示3个小僧吃1个馒头,图右表示1个大僧吃3个馒头。正好给出4个和尚吃4个馒头的模型。因为100个和尚恰好可以分成25个4人组,由此可知,有25个大和尚,25×3=75个小和尚。
图2
评论留言