九、韩信点兵

更新于 2026年10月13日 版权声明

九、韩信点兵

说起来已将近三十年了,那时我还只八岁,常常随了我的祖父去会他的老友。有一次到一个小盐商家去,他一见了我们祖孙俩走到摊头,一边拉长板凳一边向祖父说:

——请坐,请坐,好福气,四孙少爷这般大了。

——什么福啊!奔忙福!

——哪里,哪里,四孙少爷在进学校了吧!

——不要这般叫,孩子们,今年已随着哥哥进学校了,在屋里淘气得很,还是去找个管头的好。祖父说了,微笑着抚摸我的头。盐老板和他说了一些古话,不知怎的,突然却转到了我的身上:

——在学校里念些什么书?

——国文、算术……我这样地回答。

——还学算吗?好,给你算一个题,算得出,请你吃晚饭。

这使我有点奇怪,我心里猜不透他是叫我算乘法还是除法。我有些惊恐,怕他叫我算四则问题,我目不转睛地看着他,他不慌不忙地说了出来:

——三个三个地数剩两个,五个五个地数剩三个,七个七个地数也剩两个,你算是几个?

我一听心里非常高兴,暗里还有点骄傲:“这样的题目,哪个不会算!”这时我正好学完公倍数公约数,而且不久前还算过这样的一个题目:

“某数以三除之余二,以四除之余三,以五除之余四,以六除之余五,问某数最小是若干?”

我把这两个题目看成是一样的,它们都是用几个数去除一个数全除不尽。这第二个题的算法我还记得十分清楚,所以我觉得很有把握。不但这样,我并且觉得这位老板的题目有些不通,他不曾只问我一个最小的答数。当我这样在肚里寻思的时候,祖父便问道:

——算得出吗?

——算得出,不止一个答数。我这样回答以后,那位老板就恭维起我来了,向着祖父说:

——真好福气!一想就想出来了,将来一定比大老爷还强。

祖父又是一阵客气,然后向着我说:

——你说一个答数看。

我所算过的题,是先求出三、四、五、六四个数的最小公倍数“六十”,然后减去“一”得“五十九”。我于是依样先求三、五、七三个数的最小公倍数,心里暗想着“三五一十五、七五三十五、一百零五”。再就是要减去一个数了。我算过的题因为“以三除之余二”是差个一(3-2=1)就除尽,所以要减去“一”。现在“三个三个地数剩两个”正是一样的,也只要减去“一”,所以我就从一百零五当中减去一,而立刻回答道:

——顶小的一个数是一百零四,还有二百零九(104+105=209)也是的。

我这时,在幼稚的心上感到得意,感到快乐,我期望着老板的夸奖。岂知大出我意料之外!他说:

——一百零四,五个五个地数剩的是四个不是三个。

这我怎么不曾想到呢?于是我想那么应当从一百零五当中减去二了(5-3=2),我就说:

——一百零三。

——三个三个的数只剩一了。

我窘极了,居然遭了这么大的失败。在我小时学数学,所遇到的窘迫,这是最大的两次当中的一次,我觉得当着人失败,非常害羞。我记得很清楚,我一只手扯了衣角,一只手捏紧拳头,脸上如火烧一般地热,低了头尽管在心里转念头,把我所算过的题目都想到。但是徒然,再和它相像的一个也没有了。我后来横了心,很胆大地说:

——恐怕题目出错了吧!

然而得到的是一个更加使我窘迫的回答:

——不错的。

连我的祖父也这样说。

穷极智生,我居然得到了一条新路,我想三个去除剩两个,五个去除剩三个,我可以先找三个去除剩两个的一些数再一个一个地拿五去除来试。这真是一条光明的路,第一个我想到“五”,这自然不对,用五去除并没有剩的。挨了下去再就想到“八”,正好用三去除剩二,用五去除剩三。我真喜出望外:

——八!

——还是不对,七个七个地数,只剩一个。

这真叫我走投无路了!那天的晚饭虽则仍是那位老板留我们吃,但当祖父答应留在那里的时候,使我非常难过,眼巴巴地只望他领了我回家,我真是脸上热一阵冷一阵的,哪有心肠吃饭!我想得头都胀了,总想不出这个方法来。羞愧,气闷,因而还有些恼怒,就满心充塞着这些滋味没精打采地在夜里随着祖父回家。我的祖父对我很慈爱,但督责也很严,他在外面虽不曾向我说什么,一到家里,他就教训我了:

——读书要用心!……在别人的面前不好夸口!……“宁在人前全不会,勿在人前会不全!”小小年纪晓得些什么?别人问到就说不知道好了……这时他的脸上严肃中还带得有几分生气的样儿。他给我这样的教训时,我的母亲、婶母、哥哥都在旁边的,他后来慢慢地将我的遭遇说给他们听,我的哥哥听他说完了题目便冲口而出地:

——二十三。

我非常不服气,

——别人告诉过你的!

——还这样不上进,祖父真生气了。

从那夜起,一直两三天,我见到祖父就怕,我没有一个时候不想这个题的算法,真弄得吃、玩、睡都是惝恍的。终于还是我的哥哥把算这个题目的秘诀告诉了我,而且说,这叫“韩信点兵”。这我才虽是十分懊丧,却慢慢地丢开了去。

现在想起来,那次的遭遇以及祖父所给我的教训实在是我的年龄所不应当受的。不过这样的硬教育,对于我也有很大的功劳,我对于数学能有较浓厚的兴趣,一半固然由于别人所给的积极的鼓励,而一半也由于这种差不多是我所担受不起的遭遇和教训。数学本来有时会叫人头痛的,然而经过一次头痛,总有一次的进益。这次的遭遇,对于本问题,我自己直接虽是一无所得,但对于思索问题的途径,确实得到了不少的启示。在当时,有些自以为有了理解的,虽也不免浮泛或错误,但毕竟增长了一些趣味和能力。因此我愿以十二分的诚意,将这段经过叙述出来,以慰勉一部分和我有相类的遭遇的读者。

现在我们言归正传。

所谓“韩信点兵”,就指的是那位盐老板所给我的问题的算法。“韩信点兵”这个名词虽是到了明时程大位的《算法统宗》才见到的,但这个问题在中国数学史上却很有些来历,到了卖盐老板都知道,也可以当得起“妇孺皆知”的荣誉了。

这题目最早是见于《孙子算经》,《孙子算经》确实是什么时候什么人所作的书,现在虽然难以考证,大约是二千多年前的作品确实是不容怀疑。在《孙子算经》上,这题目原是这样的:

“今有物不知其数。三三数之,剩二;五五数之,剩三;七七数之,剩二。问物几何?”

在原书本归在下卷中,到了宋时,周密的书中却有“鬼谷算”和“隔墙算”的名目,而杨辉又称为“剪管术”,在那时便有秦王暗点兵的俗名,大约韩信就是从秦王变来的,至于“明点”“暗点”那本没有什么多大关系。

原书上,跟着题目便有下面的一段:

“答曰二十三。”

“术曰:三三数之剩二,置一百四十;五五数之剩三,置六十三;七七数之剩二,置三十。并之,得二百三十三,以二百一十减之,即得。”

“凡三三数之剩一,则置七十;五五数之剩一,则置二十一;七七数之剩一,则置一十五;一百六以上,以一百五减之,即得。”

后一小段可以说是这类问题的基本算法,而前一小段却是本问题的解答,用现在的式子照写出来便是:

70×2+21×3+15×2=140+63+30=233

233-105×2=233-210=23

照前面的说法,自然是士大夫气很重,也可以说是讲义体,一般人当然很难明白,但到了周密的书,便有诗歌形式的说明,那诗道:

“三岁孩儿七十稀,五留廿一事尤奇。

七度上元重相会,寒食清明便可知。”

这诗虽然容易记诵,但意义不很明白,而且说得也欠周到。到了程大位,它就改了面目:

“三人同行七十稀,五树梅花廿一枝。

七子团圆月正半,除百零五便得知。”

这诗流传得非常广,所以如卖盐老板之流也都知道,而我的哥哥所告诉我的秘诀就是它。

是的,知道了它,这类的题目便可以机械地算了,将三除所得的余数去乘七十,五除所得的余数去乘二十一,七除所得的余数去乘十五,再把这三项乘积相加,如所得的和比一百零五小,那便是所求的答数。不然,则减去一百零五的倍数而得出比一百零五小的数来——这里所要求的只是一个最小的答数——例如三三数之剩一,五五数之剩四,七七数之剩三,那么,运算的程序便是:

70×1+21×4+15×3=70+84+45=199

199-105=94

若单只就实用或游戏说,熟记这秘诀已很够受用了,至于它是从哪儿来的,一般人哪管得这么多?但就数学的立场来说,这种知其然而不知其所以然的态度却没有多大的价值,并且即使熟记着这秘诀,所能应付的问题不过一百零五个,因为只限于三三,五五,七七三种数法。我们要默记这一百零五个答数并不是不可能,然而到得果真熟记着这一百零五个答数,那就更无意味了(见文末附注)。

所以我们第一要问,为什么这样就是对的?

要说明个中的理由,我们先记起算术里面关于倍数的两个定理:

(一)某数的倍数的倍数,还是某数的倍数——这正如我的哥哥的哥哥还是我的哥哥一般。

(二)某数的若干倍数的和,还是某数的倍数——这正如我的几个哥哥坐在一起,他们仍然是我的哥哥一般。

依了这两个定理来检讨上面的算法,设R3表示用三除所得的余数,R5和R7相应地表示用五除和用七除所得的余数,那么:

(一)七十是五和七的倍数,而是三的倍数多一,所以用R3去乘仍是五和七的倍数,而是三的倍数多R3。

(二)二十一是七和三的倍数,而是五的倍数多一,所以用R5去乘仍是七和三的倍数,而是五的倍数多R5。

(三)十五是三和五的倍数,而是七的倍数多一,所以用R7去乘仍是三和五的倍数,而是七的倍数多R7。

(四)所以这三项相加,就三说,是

70×R3+21×R5+15×R7=3的倍数+R3+3的倍数+3的倍数=3的倍数+R3。

若用三去除,所得的余数正是R3。就五说,是

70×R3+21×R5+15×R7=5的倍数+R5+5的倍数+5的倍数=5的倍数+R5。

若用五去除,所得的余数正是R5。就七说,是

70×R3+21×R5+15×R7=7的倍数+R7+7的倍数+7的倍数=7倍数+R7。

若用七去除,所得的余数正是R7。

这就可以证明我们如法炮制出来的数是合题的。至于在比一百零五大的时候,要减去它的倍数,使得数小于一百零五,这只因为适合于题目的答数本来无穷,只得取最小的一个做代表的缘故。一百零五本是三、五、七的最小公倍数,在这最小的答数上加入它的倍数,这是和除得的余数无关系的。

经过这样的证明,我们可以承认上面的算法是对了,但这还不够,我们第二要问,那七十、二十一和十五三个数含有怎样的性质?

七十是五和七的公倍数,而二十一是七和三的最小公倍数,十五是三和五的最小公倍数,为什么两个是最小公倍数而另一个却只是公倍数呢?

这个问题并不难回答,因为二十一用五除,十五用七除都恰好剩一,而五和七的最小公倍数“三十五”用三除却剩的是二,要七十用三除才剩一。所以这个解法的要点,是要求出三个数来,每一个都是三个除数中的两个的公倍数——最小公倍数是碰巧的——而同时是另一个除数的倍数多一。

这样,就到了第三步,我们要问,合于这种条件的数怎样求法?

这里且将清时黄宗宪所编《求一术通解》里面的方法摘抄在下面,我们来认识认识中国数学书的面目,也是一件趣事。

图示

“三位泛母俱是数根,不可拆,即为定母。连乘之,得一〇五为衍母。以一行三除之,得三十五为一行衍数;以二行定母五除之,得二十一为二行衍数;以三行定母七除之,得一十五为三行衍数。”

这里所谓泛母,用不到解释,便可明白。析母就是将泛母分成质因数,至于定母,便是各泛母所单独含有的质因数的积。若是有一个质因数是两个以上的泛母所共有的,那么只是含这个质因数的个数最多的泛母用它;若是两个泛母所含这质因数的个数相同,那么随便在哪一个泛母用它都可以。注意后面的另一个例子——衍母是各定母的连乘积,也就是各泛母的最小公倍数。衍数是用定母除衍母所得的商。

得了定母和衍数,就可以求乘率,所谓乘率便是乘了衍数所得的积恰等于泛母的倍数多一的数,而这个乘积称为用数。求乘率的方法,在《求一术通解》里面是这样说的:

“列定母于上行,列衍数于下行(左角上预寄一数),辗转累减,至衍数余一为止,视左角上寄数为乘率。

“按两数相减,必以少数为法,多数为实。其法上无寄数者,不论减若干次,减余数上仍以一为寄数(1)。其实上无寄数者,减余数上以所减次数为寄数(2);其法、实上俱有寄数者,视累减若干次,以法上寄数亦累加若干次于实上寄数中(3);即得减余数上之寄数矣。”

照这个法则,我们来求所要的各乘率,为了容易明白,我将原式的中国数码改成了阿拉伯数字:

定母3 3 11
衍数135 12 12 21

所以乘率是2。

定母5
衍数121 11

所以乘率是1。

定母7
衍数115 11

所以乘率是1。

依原书所说,是用累减法,但累减便是除,为什么不老老实实地说除,而要说是累减呢?这个理由是因为最后衍数这一行必要保留一个余数1——所以即使除得尽也不许除尽,因此说除不如说累减来得统一。但我们这时要说明,还是用除好些。我们就用除法来检查这个计算法,如第一式,衍数35左角上的1,就是所谓预寄的一数,表示用一个衍数的意思,因为定母3比衍数35小,用3(法)去除35(实)得11剩2;照(1)法上无寄数,仍以1为余数2的寄数,所以2的左角上写1。接着以2(法)除3(实)得1(商)剩1;照(2)实上无寄数,以所减次数(即商数)为余数的寄数,所以1的右角上还是1。再用这1(法)去除2(实),本来是除得尽的,但应当保留余数1,因此只能商1而剩1。照(3)法、实都有寄数,应当以商数1乘法数1的寄数1加上实数2的寄数1得2,为余数1的寄数,而它便是乘率。

第一次的余数2=35-3×11

第二次的余数1=3-2×1=3-第一次的余数×1=3-(35-3×11)×1

第三次的余数1=2-1×1

=第一次的余数-第二次的余数×1

=35-3×11-[3-(35-3×11)×1]×1

=35-3×11-3×1+35×1-3×11×1×1

=35×(1+1)-3×(11+1+11)

=35×2*-3×23

就是3×23=35×2-1

图示

上式中“*”表示所求得的乘率,黑体字表示每次的寄数。你看这求法多么巧妙!现在用代数的方法一般地证明如下。设A为定母,B为衍数,a0、a1、a2,…、an为各次的寄数,r0、r1、r2、…、rn为各次的余数,而rn等于1,依上面的式子写出来便是:

图示

而r0=B-t0A

r1=A-a1r0=A-a1(B-t0A)=A-a1B+a1t0A

=t1A-a1B

t1=a1t0+1

r2=r0-q2r1=(B-t0A)-q2(t1A-a1B)=B-t0A-q2t1A+q2a1B

=a2B-t2A

a2=q2a1+a0

t2=q2t1+t0

r3=r1-q3r2=(t1A-a1B)-q3(a2B-t2A)

=t3A-a3B

a3=q3a2+a1

t3=q3t2+t1

…………………………

∴rn=anB-tnA

an=qnan-1+an-2

tn=qntn-1+tn-2

但rn=1

∴1=anB-tnA

就是anB=tnA+1

图示(https://www.daowen.com)

有了乘率,将它去乘衍数就得用数,上面已经证明了,所以在本例题,三、五和七的用数相应地便是七十(35×2)、二十一(21×1)和十五(15×1)。

杨辉的“剪管术”中,同样的题目有好几个,试取两个照样演算于下。

(a)七数剩一,八数剩二,九数剩三,问本数几何?

(一)求衍数

泛母 析母 定母 衍母 衍数
7 7 7 504 72
8 8 8 63
9 9 9 56

(二)求乘率

定母7 7 13
衍数172 12 12 41

所以乘率是4。

定母8 8 11
衍数163 17 17 71

所以乘率是7。

定母9 9 14
衍数156 12 12 51

所以乘率是5。

(三)求用数,就是将相应的乘率去乘衍数,所以七、八、九的用数相应地为二百八十八(72×4),四百四十一(63×7)和二百八十(56×5)。

(四)求本数,就是将各除数所除得的剩余相应地乘各用数,而将这三个乘积加起来。倘若这所得的和比七、八、九的最小公倍数五百零四大,就将五百零四的倍数减去,也就是用这最小公倍数除所得的和而求余数。

因而288×1+441×2+280×3=288+882+840=2010

2010÷504=3余498

所以四百九十八便是本数。

(b)二数余一,五数余二,七数余三,九数余四,问原总数几何?

(一)求衍数

泛母 析母 定母 衍母 衍数
2 2 2 630 315
5 5 5 126
7 7 7 90
9 9 9 70

(二)求乘率

定母2
衍数1315 11

所以乘率是1。

定母5
衍数1126 11

所以乘率是1。

定母7 7 11
衍数190 16 16 61

所以乘率是6。

定母9 9 21
衍数170 17 17 41

所以乘率是4。

(三)求用数

2的……315×1=315,5的……126×1=126,

7的……90×6=540,9的……70×4=280。

(四)求本数

315×1+126×2+540×3+280×4=315+252+1620+1120=3307

3307÷630=5……157

所以原总数是一百五十七。

再由《求一术通解》上取一个较复杂的例子,那更可以看明白这类题的算法了。

“今有数不知总:以五累减之,无剩;以七百一十五累减之,剩一十;以二百四十七累减之,剩一百四十;以三百九十一累减之,剩二百四十五;以一百八十七累减之,剩一百零九,问总数若干?”

“答:10020。”

(一)求衍数

泛母 析母 定母 衍母 衍数
5 5 废位 5311735
715 5·×11·×13 55 96577
247 13·×19· 247 21505
391 17·×23· 391 13585
187 11×17 废位

(二)求乘率

定母55 55 31
衍数196577 152 152 181

所以乘率是18。

定母247 247 715 715 1108
衍数121505 116 116 312 312 1391

所以乘率是139。

定母391 391 1001 1001 94
衍数113585 1291 1291 391 391 431

所以乘率是43。

(三)求用数

715的……96577×18=1738386

247的……21505×139=2989195

391的……13585×43=584155

(四)求总数

1738386×10+2989195×140+584155×245

=17383860+418487300+143117975

=578989135

578989135÷5311735=109……10020

这个计算所要注意的就是“废位”,第一行的析母5,第二行也有,第二行已用了(数旁记黑点就是表示采用的意思),所以第一行可废去。又第五行的11和17一个已用在第二行,一个已用在第四行,所以这一行也废去。前面已经说过两个泛母若有相同的质因数而且所含的个数相同,无论在哪个泛母采用都可以的,因此上面的求衍数的方法中的一种,在《求一术通解》里,就附有下列每种采用法的表,比较起来这一种实在是最简单的了(表中的○表示废位)。

析母 5 5×11×13 13×19 17×23 11×17
定母 ○ 55 247 391 ○ 1
○ 715 19 391 ○ 2
○ 55 247 23 17 3
○ 715 19 23 17 4
○ 5 147 391 11 5
○ 65 19 391 11 6
○ 5 247 23 187 7
○ 65 19 23 187 8
5 11 247 391 ○ 9
5 143 19 391 ○ 10
5 11 247 23 17 11
5 143 19 23 17 12
5 ○ 247 391 11 13
5 13 19 391 11 14
5 ○ 247 23 187 15
5 13 19 23 187 16

由这几个例子,可以看出“韩信”的点兵不限于三三,五五,七七地数。在中国的旧数学上,“大衍求一术”还有不少的应用,不过在这篇短文里却讲不到了。

到了这一步,我们可以问:“‘韩信点兵’这类的问题在西洋数学中怎样解决呢?”

要回答这个问题,你先要记起代数中联立方程式的解法来。不,首先要记起一般联立方程式所应具的必要条件。那是这样的,方程式的个数应当和它们所含未知数的个数相等,所以二元的要有两个方程式,三元的要有三个,倘使方程式的个数比它们所含未知数的个数少,那就不能得出一定的解答,因此我们称它为不定方程式系。

两个未知数而只有一个方程式,例如,

5x+10y=20

我们若将y当作已知数看,依照解方程式的顺序来解便可,而且也只能得下面的式子:

x=4-2y

在这个式子当中任意用一个数去代y,x都有一个相应的数值,如:

y=0,x=4-2×0=4;y=1,x=4-2×1=2;

y=2,x=4-2×2=0;y=3,x=4-2×3=-2;

y=-1,x=4-2×(-1)=6;…………

y的数值既可任意地定,所以这方程式的根便是不定的。

又三个未知数,而只有两个方程式,比如:

x+y-3z=8……(1)

2x-5y+z=2……(2)

依照解联立方程式的法则,从这两个方程式可以随意先消去一个未知数。若要消去z,就用3去乘(2)而和(1)相加,便得:

6x-15y+3z+x+y-3z=6+8

7x-14y=14

再移含有y的项到右边,并且全体用7去除,就得:

x=2+2y

照前例同一的理由,这方程式中y的值可以任意选用,所以是不定的,而x的值也就不定了,x和y的值都不一定,z的值跟着更是不定,如:

y=1,x=4,代入(1)z=-1 代入(2)z=-1;

y=2,x=6,代入(1)z=0 代入(2)z=0;

………………

就这种情形推下去,联立方程式的个数只要比它们所含的未知数少,就得不出一定的解答来。

这样说起来,不定方程式系不是一点儿用场都没有了吗?这个疑问自然是应当有的,不过用场的有无实在难说。和尚拾着常州梳子自然没用,但若是江北大姐拾着,岂不喜出望外仔细考察起来,不定方程式系虽然没有一定的解答,但它却将所含的未知数间的关系加上了限制。即如第一个例子,x和y的数值虽然不定,但若y等于0,x就只能等于4;若y等于1,x就只能等于2。再就第二个例子说,也有同样的情形。这种关系倘若再得到别的条件来补充,那么,解答就不是漫无限制了,本来一个方程式也不过表示几个未知数在某种情形所具的关系,也就只是一个条件。

我们就用“韩信点兵”的问题来做例子吧。

设三三数所数的次数为x,五五数所数的次数为y,七七数所数的次数为z,而原数为N,则:

N=3x+2=5y+3=7z+2

∴3x+2=5y+3……(1)

 3x+2=7z+2……(2)

这有三个未知数而只有两个方程式,但我们应当注意x,y,z都必须是正整数,这便是一个附带的条件,

由(1)图示

因为x和y是正整数,所以图示虽是一个分数的形式,也必须是整数,设它是α,那么:

图示

∴ 2y+1=3α,图示

因为y和x都是整数,所以图示也必须是整数,设它是β,则图示

∴α-1=2β,α=2β+1

∴y=α+β=2β+1+β=3β+1,

x=y+α=3β+1+2β+1=5β+2

而N=3x+2=3(5β+2)+2=15β+8,

由(2)15β+8=7z+2,∴7z=15β+6,

∴图示

因为z和β都是正整数,所以图示也必须是整数,设它是γ,则图示γ,

∴β+6=7γ,β=7γ-6

而图示

N=7z+2=7(15γ-12)+2=105γ-82

现在γ既是整数,而且不能是负的。因为它若是负的,N也便是负的,对于题目说便没有意义了。所以γ至少须是1,而

N=105-82=23

自然γ可以是2、3、4、5、6,……而N随着便是128、233、338、443、548,……但N的值虽无穷却有一个限制。

既说到代数的不定方程式,无妨顺着再说一点。

(a)解方程式3x+4y=22,x和y的值限于正整数,先将含y的项移到右边,则得

3x=22-4y

∴图示

因为x和y都是正整数,而7本来是整数,所以图示也应当是整数,设它等于α,则

图示,1-y=3α;

∴y=1-3α,(1)

x=7-(1-3α)+α=6+4α(2)

由(1)y既是正整数,α也是整数,所以α或是等于零或是负的,绝不能是正的。

由(2)x既是正整数,α也是整数,所以α应当是正的或是等于零,最小只能等于负1。

合看这两个条件α只能等于零或负1,而

α=0,x=6,y=1;

α=-1,x=2,y=4。

(b)解方程式5x-14y=11,x和y的值限于正整数。

移项5x=11+14y,

∴图示

因为x和y以及2都是整数,所以图示也应当是整数,但这里和前一个例子不同,不好爽爽快快地就设它等于α,为的是若图示,则1+4y=5α,图示仍是一个分数的形式。要避去这个困难,必要的条件是使原来的分数的分子中y的系数为1。幸好这是可能的,不是吗?整数的倍数仍然是整数,我们就无妨用一个适当的数去乘这分数,就是乘它的分子。所谓适当,就是乘了以后,y的系数恰等于分母的倍数多1。这好似又要用到了前面所说的求乘率的方法了,实际还可以不必这么地大动干戈。乘数总比分母小,由视察便可得到了。在本例,则可用4去乘,便得

图示

而图示应当是整数,设它等于α,则

图示,4+y=5αy=5α-4(1)

∴图示(2)

这里和前例也有点不同,由(1)和(2)看来α只要是正整数就可以,不必再有什么限制,所以

α=1,x=5,y=1;

α=2,x=19,y=6;

α=3,x=33,y=11;

…………

这样的解答是无穷的。

将中国的老方法和现在我们所学的新法两相比较,究竟哪一种好些,这虽很难说,但由此可以知道,一个问题的解法绝不只是一种。当学习数学的时候,能够注意别人的算法以及自己另辟蹊径去走,都是有兴味而且有益处的。中国的“求一术”不但在中国数学史上占着很重要的位置,若能发扬光大,正有不少的问题可以研究。

[附注]一个数用3去除,有三种情形:一是剩0(就是除尽),二是剩1,三是剩2。同样地,用5去除有五种情形,剩0、1、2、3、4。用7去除有七种情形,剩0、1、2、3、4、5、6。从3除的三种情形中任取一种,和5除的五种情形中的任一种,以及7除的七种情形中的任一种配合,都能成一个“韩信点兵”的题目,所以一共有3×5×7=105个题。而这105个题的最小答数,恰是从0到104这105个数,把它们排列起来可以得出下面的表。

图示 0 1 2 3 4
0 0
1
2
3
4
5
6
0
15
30
45
60
75
90
21
36
51
66
81
96
6
42
57
72
87
102
12
27
63
78
93
3
18
33
48
84
99
9
24
39
54
69
1 0
1
2
3
4
5
6
70
85
100
10
25
40
55
91
1
16
31
46
61
76
7
22
37
52
67
82
97
28
43
58
73
88
103
13
49
64
79
94
4
19
34
2 0
1
2
3
4
5
6
35
50
65
80
95
5
20
56
71
86
101
11
26
41
77
92
2
17
32
47
62
98
8
23
38
53
68
83
14
29
44
59
74
89
104

这个表的构造是这样的:

(1)R3的一行的0、1、2表示三个三个地数的余数。

(2)R7的一行的0、1、2、3、4、5、6表示七个七个地数的余数。

(3)R5的一排的0、1、2、3、4表示五个五个地数的余数。

(4)中间的数便是105个相当的答数。

所以如说三数剩二,五数剩三,七数剩二,答数就是第三大横排的第六竖列的第三数,二十三。如说三数剩一,五数剩二,七数剩四,答数便是第二大横排的第五竖列的第五数,六十七。

表中各数的排列,仔细观察,也很有趣:

(1)就三大横排说,同竖列同小排的数次第加70——超过105则减去它——正是泛母三的用数。

(2)就每一小横排说,次第加21——超过105则减去它——正是泛母五的用数。

(3)就每大横排中的各竖列说,次第加15——超过105则减去它——正是泛母七的用数。

这个理由自然是略一思索就会明白的。

✍AI写作