这真叫我走投无路了!那天的晚饭虽则仍是那位老板留我们吃,但当祖父答应留在那里的时候,使我非常难过,眼巴巴地只望他领了我回家,我真是脸上热一阵冷一阵的,哪有心肠吃饭!我想得头都胀了,总想不出这个方法来。羞愧,气闷,因而还有些恼怒,就满心充塞着这些滋味没精打采地在夜里随着祖父回家。我的祖父对我很慈爱,但督责也很严,他在外面虽不曾向我说什么,一到家里,他就教训我了:
——读书要用心!……在别人的面前不好夸口!……“宁在人前全不会,勿在人前会不全!”小小年纪晓得些什么?别人问到就说不知道好了……这时他的脸上严肃中还带得有几分生气的样儿。他给我这样的教训时,我的母亲、婶母、哥哥都在旁边的,他后来慢慢地将我的遭遇说给他们听,我的哥哥听他说完了题目便冲口而出地:
——二十三。
我非常不服气,
——别人告诉过你的!
——还这样不上进,祖父真生气了。
从那夜起,一直两三天,我见到祖父就怕,我没有一个时候不想这个题的算法,真弄得吃、玩、睡都是惝恍的。终于还是我的哥哥把算这个题目的秘诀告诉了我,而且说,这叫“韩信点兵”。这我才虽是十分懊丧,却慢慢地丢开了去。
现在想起来,那次的遭遇以及祖父所给我的教训实在是我的年龄所不应当受的。不过这样的硬教育,对于我也有很大的功劳,我对于数学能有较浓厚的兴趣,一半固然由于别人所给的积极的鼓励,而一半也由于这种差不多是我所担受不起的遭遇和教训。数学本来有时会叫人头痛的,然而经过一次头痛,总有一次的进益。这次的遭遇,对于本问题,我自己直接虽是一无所得,但对于思索问题的途径,确实得到了不少的启示。在当时,有些自以为有了理解的,虽也不免浮泛或错误,但毕竟增长了一些趣味和能力。因此我愿以十二分的诚意,将这段经过叙述出来,以慰勉一部分和我有相类的遭遇的读者。
现在我们言归正传。
所谓“韩信点兵”,就指的是那位盐老板所给我的问题的算法。“韩信点兵”这个名词虽是到了明时程大位的《算法统宗》才见到的,但这个问题在中国数学史上却很有些来历,到了卖盐老板都知道,也可以当得起“妇孺皆知”的荣誉了。
这题目最早是见于《孙子算经》,《孙子算经》确实是什么时候什么人所作的书,现在虽然难以考证,大约是二千多年前的作品确实是不容怀疑。在《孙子算经》上,这题目原是这样的:
“今有物不知其数。三三数之,剩二;五五数之,剩三;七七数之,剩二。问物几何?”
在原书本归在下卷中,到了宋时,周密的书中却有“鬼谷算”和“隔墙算”的名目,而杨辉又称为“剪管术”,在那时便有秦王暗点兵的俗名,大约韩信就是从秦王变来的,至于“明点”“暗点”那本没有什么多大关系。
原书上,跟着题目便有下面的一段:
“答曰二十三。”
“术曰:三三数之剩二,置一百四十;五五数之剩三,置六十三;七七数之剩二,置三十。并之,得二百三十三,以二百一十减之,即得。”
“凡三三数之剩一,则置七十;五五数之剩一,则置二十一;七七数之剩一,则置一十五;一百六以上,以一百五减之,即得。”
后一小段可以说是这类问题的基本算法,而前一小段却是本问题的解答,用现在的式子照写出来便是:
70×2+21×3+15×2=140+63+30=233
233-105×2=233-210=23
照前面的说法,自然是士大夫气很重,也可以说是讲义体,一般人当然很难明白,但到了周密的书,便有诗歌形式的说明,那诗道:
“三岁孩儿七十稀,五留廿一事尤奇。
七度上元重相会,寒食清明便可知。”
这诗虽然容易记诵,但意义不很明白,而且说得也欠周到。到了程大位,它就改了面目:
“三人同行七十稀,五树梅花廿一枝。
七子团圆月正半,除百零五便得知。”