书城科普读物探索未知-诗歌与数学
8885000000002

第2章 百鸟图中的分拆

北宋著名的文学家苏轼,不仅诗词写得精彩,而且还是绘画的高手。有一次,他画了一幅《百鸟归巢图》,广东一位名叫伦文叙的状元,在他的画上题了一首诗:归来一只又一只,三四五六七八只,凤凰何少鸟何多,啄尽人间千石食。

画题既名“百鸟”,而题画诗中却不见“百”字的踪影。诗人开始好像只是在漫不经心地数数:一只、又一只,三、四、五、六、七、八只,数到第八只,诗人再也不耐烦了,突然感慨横生,笔锋一转,大发了一通议论。

诗人借题发挥,辛辣地讽刺了官场之中廉洁奉公、洁身自好的“凤凰”太少,而贪污腐化的“害鸟”则太多,他们巧取豪夺,把老百姓赖以活命的千石、万石粮食侵吞殆尽,使得民不聊生。

究竟苏轼的画中确有100只鸟,还是只有8只鸟呢?请你动动脑筋,先把题画诗中出现的数字,按次序写成一行:1,1,3,4,5,6,7,8。然后再在数与数之间加上适当的运算符号,便得到一个算式:1+1+3×4+5×6+7×8,运算的结果恰好等于100。

原来诗人是把100巧妙地分成了两个1,三个4,五个6和七个8之和,含而不露地落实了“百鸟图”中的“百”字,可谓匠心独运。

歌剧《刘三姐》中有一段精彩的情节,描写刘三姐与三位秀才对歌。双方用唱山歌的方式互相问难。三位秀才自恃有“学问”,在对歌中给刘三姐出了一道难道:罗秀才:小小麻雀莫逞能,三百条狗四下分。

一少三多要单数,看你怎样分得清。

刘三姐:九十九条打猎去,九十九条看羊来。

九十九条守门口,还剩三条狗奴才。

刘三姐毫不费力地把300分成了4个奇数之和:300=99+99+99+3“三条狗奴才”暗指陶、李、罗三位助纣为虐的秀才。对歌中显出了刘三姐的机智与幽默,唱出了她对秀才们的鄙视和嘲弄。

在伦文叙的题画诗和刘三姐的歌词中,都把一个正整数分成了若干个正整数之和。像这样把一个正整数分成若干个正整数之和的方法,在数论中称为整数的分拆。整数分拆是一个非常活跃的数学分支,它涉及很多艰深的数学理论。

即以把300分成4个奇数之和为例,刘三姐只给出了一种答案(300=99+99+99+3),现在要问:把300分成4个奇数之和,有多少种不同的方式?

在回答这个问题之前,先要作一些必要的说明。当4个加数完全相同而仅仅次序不同时,例如:300=99+99+99+3与300=99+99+3+99。

是算两种分拆方式,还是只算一种分拆方式。如果算两种,称为“计及次序的分拆”;如果只算一种,则称为“不计次序的分拆”。

按照刘三姐歌词中的唱法,300=99+99+99+3与300=99+99+3+99应该是有区别的。前者是有“3条狗奴才”,后者则应该是有“99条狗奴才”。所以,这是一个计及次序的分拆。

现在,我们把它抽象为一个数学问题:

把300分成有次序的4个奇数之和,有多少种不同的方式?

下面我们介绍这个问题的两种解法。

首先,我们可以这样来考虑:把300个小圆圈排成一行,并且两个两个连成一个环,共得150个环:在环与环之间的任一个空隙处画一条分界线,就把300分成了两个偶数之和。如图所示,分界线画在第4环与第5环的空隙处,就把300分成了8与292之和:现在再把分界线两边的环各切开一个,如图所示:这样就把300分成了4个有次序的奇数之和:300=3+5+285+7。

当分界线画在第4个空隙的时候,左边有4节环,可以有4种不同方式切开其中的一个环;分界线的右边有150-4=146个环,有146种不同方式切开其中的某一环。因此,根据乘法原理,共有4×146种不同的方式把300分成4个奇数之和。

可画分界线的空隙共有149个,同理可知:分界线画在第1个空隙时,有1×149种方式把300分成4个奇数之和;分界线画在第2个空隙时,有2×148种方式把300分成4个奇数之和;……

分界线画在第149个空隙时,有149×1种方式把300分成4个奇数之和。

所以,把300分成4个有次序的奇数之和的方式总数有:1×149+2×148+3×147+…+148×2+149×1

=(150-1)×1+(150-2)×2+(150-3)×3+…+(150-149)×149

=(150×1-12)+(150×2-22)+(150×3-32)+…+(150×149-1492

=150(1+2+…+149)-(12+22+…+1492)

=150×149×1502-149×150×2996

=1676250-1113775

=562475。

这个问题也可以这样来计算:

在两条短线之间画151个小圆圈,按次序排成一线:|○○○…○○○|(共151个圆圈)

在这151个小圆圈中任意选3个,把它们变成3条短线,就把剩下的148个小圆圈分成了4部分,分别夹在两条短线之间(有的两条短线之间可能没有小圆圈),例如,若取第一、第四和第八个小圆圈变成短直线,就得到:‖○○|○○○|○○…○|在这个图中,第一部分有0个圈,第二部分有2个圈,第三部分有3个圈,第四部分有143个圈。把每一个圈都当作2,就得到了把148×2=296分成了4个有次序的非负的偶数之和。例如上图所对应的分拆是296=0+4+6+286(1)

将上式右边的每一项都加上1,左边加上4,便得到一种把300分成4个有次序的奇数之和的方式:300=1+5+7+287(2)

显然,分拆(2)与分拆(1)是一一对应的,要计数分拆(2)的个数,只要计数分拆(1)的个数就可以了。

因为每一种分拆(1)都由开始所选的那3个变成了短线的圆圈的位置所决定,所以,把300分成4个有次序的奇数之和的方式数,就相当于在151个圆圈中选取3个的方法数,即从151个元素中取3个的组合数,共有C3151种。

C3151=151×150×1493×2×1=562475。

与第一种方法得到的结果一致。

这是计及次序的分拆,如果不计次序,把300分成4个奇数之和的方式数有24875种,种数虽然少一些,但计算却复杂得多。此外,如果取消4个奇数的限制,把300分成若干个正整数之和的方式数,计算就更复杂了。

总之,整数的分拆是一个非常复杂的问题。如果当年与刘三姐对歌的秀才们,有人擅长数学的话,他们只要把自己歌词的最后一句改为:“多少分法请说清。”刘三姐即使非常聪明,一时之间,恐怕也是难于应对的吧!