昨天马先生结束了四则问题以后,叫我们复习关于质数、最大公约数和最小公倍数的问题。晚风习习,我取了一本《开明算术教本》上册,阅读关于这些事项的第七章。从前学习它的时候,是否感到困难,印象已模糊了。现在要说“一点儿困难没有”,我不敢这样自信。不过,像从前遇见四则问题那样摸不着头脑,确实没有。也许其中的难点,我不曾发觉吧!怀着这样的心情,今天,到课堂去听马先生的讲演。
“我叫你们复习的,都复习过了吗?”马先生一走上讲台就问。
“复习过了!”两三个人齐声回答。
“那么,有什么问题?”
每个人都是瞪大双眼,望着马先生,没有一个问题提出来。马先生在这静默中,看了全体一遍:“学算学的人,大半在这一部分不会感到什么困难的,你们大概也不会有什么问题了。”
我不曾发觉什么困难,照这样说,自然是由于这部分问题比较容易的缘故。心里这么一想,就期待着马先生的下文。
“既然大家都没有问题,我且提出一个来问你们:这部分问题,我们也用画图来处理它吗?”
“那似乎可以不必了!”周学敏回答。
“似乎?可以就可以,不必就不必,何必‘似乎’!”马先生笑着说。
“不必!”周学敏斩钉截铁地说。
“问题不在‘必’和‘不必’。既然有了这样一种法门,正可拿它来试试,看变得出什么花招来,不是也很有趣吗?”说完,马先生停了一停,再问,“这一部分所处理的材料是些什么?”
当然,这是谁也答得上来的,大家抢着说:“找质数。”
“分质因数。”
“求最大公约数和最小公倍数。”
“归根结底,不过是判定质数和计算倍数与约数——这只是一种关系的两面。12是6、4、3、2的倍数,反过来看,6、4、3、2便是12的约数了。”马先生这样结束了大家的话,而掉转话头:“闲言少叙,言归正传。你们将横线每一大段当1表示倍数,纵线每一小段当1表示数目,画表示2的倍数和3的倍数的两条线。”
这只是“定倍数”的问题,已没有一个人不会画了。马先生在黑板上也画了一个——图75。
图75
“从这图上,可以看出些什么来?”马先生问。
“2的倍数是2、4、6、8、10、12。”我答。
“3的倍数是3、6、9、12、15、18。”周学敏说。
“还有呢?”
“5、7、11、13、17都是质数。”王有道答道。
“怎么看出来的?”
这几个数都是质数,我本是知道的,但从图上怎么看出来的,我却茫然了。马先生这么一追问,真是“实获我心”了。
“OA和OB两条线都没有经过它们,所以它们既不是2的倍数,也不是3的倍数……”说到这里,王有道突然停住了。
“怎样?”马先生问道。
“它们总是质数呀!”王有道很不自然地说。这一来大家都已发现,这里面一定有了漏洞,王有道大概已明白了。不期然而然地,大家一齐笑了起来。笑,我也是跟着笑的,不过我并未发现这漏洞。
“这没有什么可笑的。”马先生很郑重地说,“王有道,你回答的时候也有点儿迟疑了,为什么呢?”
“由图上看来,它们都不是2和3的倍数,而且我知道它们都是质数,所以我那样说。但突然想到,25既不是2和3的倍数,也不是质数,便疑惑起来了。”王有道这么一解释,我才恍然大悟,漏洞原来在这里。
马先生露出很满意的神气,接着说:“其实这个判定法,本是对的,不过欠精密一点儿,你是上了图的当。假如图还可以画得详细些,你就不会这样说了。”
马先生叫我们另画一个较详细的图——图76——将表示2、3、5、7、11、13、17、19、23、29、31、37、41、43、47 各倍数的线都画出来。(这里的图,右边截去了一部分。)不用说,这些数都是质数。由图上,50以内的合数当然可以很清楚地看出来。不过,我有点儿怀疑。——马先生原来是要我们从图上找质数,既然把表示质数的倍数的线都画了出来,还用得找什么质数呢?
图76
马先生还叫我们画一条表示6的倍数的线,OP。他说:“由这张图看,当然再不会说,不是2和3的倍数的,便是质数了。你们再用表示6的倍数的一条线OP作标准,仔细看一看。”
经过十多分钟的观察,我发现了:“质数都比6的倍数少1。”
“不错。”马先生说,“但是应得补充一句——除了2和3。”这确实是我不曾注意到的。
“为什么5以上的质数都比6的倍数少1呢?”周学敏提出了这样一个问题。
马先生叫我们回答,但没有人答得上来,他说:“这只是事实问题,不是为什么的问题。换句话说,便是整数的性质本来如此,没有原因。”对于这个解释,大家好像都有点儿莫名其妙,没有一个人说话。马先生接着说:“一点儿也不稀罕!你们想一想,随便一个数,用6去除,结果怎样呢?”
“有的除得尽,有的除不尽。”周学敏说。
“除得尽的就是6的倍数,当然不是质数。除不尽的呢?”
没有人回答,我也想得到有的是质数,如23;有的不是质数,如25。马先生见没有人回答,便这样说:“你们想想看,一个数用6去除,若除不尽,它的余数是什么?”
“1,例如7。”周学敏说。
“5,例如17。”另一个同学说。
“2,例如14。”又是一个同学。
“4,例如10。”其他两个同学同时说。
“3,例如21。”我也想到了。
“没有了。”王有道来一个结束。
“很好!”马先生说,“用6除剩2的数,有什么数可把它除尽吗?”
“2。”我想它用6除剩2,当然是个偶数,可用2除得尽。
“那么,除了剩4的呢?”
“一样!”我高兴地说。
“除了剩3的呢?”
“3!”周学敏快速地说。
“用6除了剩1或5的呢?”
这我也明白了。5以上的质数既然不能用2和3除得尽,当然也不能用6除得尽。用6去除不是剩1便是剩5,都和6的倍数差1。
不过马先生又另外提出一个问题:“5以上的质数都比6的倍数差1,掉转头来,可不可以这样说呢?——比6的倍数差1的都是质数?”
“不!”王有道说,“例如25是6的4倍多1,35是6的6倍少1,都不是质数。”
“这就对了!”马先生说,“所以你刚才用不是2和3的倍数来判定一个数是质数,是不精密的。”
“马先生!”我的疑问始终不能解释,趁他没有说下去,我便问:“由作图的方法,怎样可以判定一个数是不是质数呢?”
“刚才画的线都是表示质数的倍数的,你们会想到,这不能用来判定质数。但是如果从画图的过程看,就可明白了。首先画的是表示2的倍数的线OA,由它,你们可以看出哪些数不是质数?”
“4、6、8……一切偶数。”我答道。
“接着画表示3的倍数的线OB呢?”
“6、9、12……”一个同学说。
“4既然不是质数,上面一个是5,第三就画表示5的倍数的线OC。”这一来又得出它的倍数10、15……再依次上去,6已是合数,所以只好画表示7的倍数的线OD。接着,8、9、10都是合数,只好画表示11的倍数的线OE。照这样做下去,把合数渐渐地淘汰了,所画的线所表示的不全都是质数的倍数吗?——这个图,我们无妨叫它质数图。”
“我还是不明白,用这张质数图,怎样判定一个数是否是质数。”我跟着发问。
“这真叫作百尺竿头,只差一步了!”马先生很诚恳地说,“你试举一个合数与一个质数出来。”
“15与 37。”
“从15横看过去,有些什么数的倍数?”
“3的和5的。”
“从37横着看过去呢?”
“没有!”我已懂得了。在质数图上,由一个数横看过去,若有别的数的倍数,它自然是合数;一个也没有的时候,它就是质数。不只这样,例如15,还可知道它的质因数是3和5。最简单的,6含的质因数是2和3。马先生还说,用这个质数图把一个合数分成质因数,也是容易的。这法则是这样:
例一:将35分成质因数的积。
由35横看到D得它的质因数,有一个是7,往下看是5,它已是质数,所以
35=7×5
本来,若是这图的右边没有截去,7和5都可由图上直接看岀来的。
例二:将12分成质因数的积。
由12横看得Q,表示3的4倍。4还是合数,由4横看得R,表示2的2倍,2已是质数,所以
12=3×2×2=3×22
关于质数图的作法,以及用它来判定一个数是否是质数,用它来将一个合数拆成质因数的积,我们都已明白了。马先生提出求最大公约数的问题。前面说过的既然已明了,这自然是迎刃而解的了。
例三:求12、18和24的最大公约数。
图77
从质数图上,如图77,我们可以看出24、18和12都有约数2、3和6。它们都是24、18、12的公约数,而6就是所求的最大公约数。
“假如不用质数图,怎样由画图法找出这三个数的最大公约数呢?”马先生问王有道。他一边思索,一边用手指在桌上画来画去,后来他这样回答:“把最小一个数以下的质数找出来,再画出表示这些质数的倍数的线。由这些线上,就可看出各数所含的公共质因数。它们的乘积,就是所求的最大公约数。”
例四:求6、10和15的最小公倍数。
依照前面各题的解法,本题是再容易不过了。OA、OB、OC相应地表示6、10、15的倍数。A、B和C同在30的一条横线上,30便是所求的最小公倍数。
图78
例五:某数,三个三个地数,剩一个;五个五个地数,剩两个;七个七个地数,也剩一个,求某数。
马先生写好了这个题,叫我们讨论画图的方法。自然,这不是很难,经过一番讨论,我们就画出图79来。1A、2B、1C各线分别表示3的倍数多1,5的倍数多2,7的倍数多1。而这三条线都经过22的线上,22即是所求的。——马先生说,这是最小的一个,加上3、5、7的公倍数,都合题。——不是吗?22正是3的7倍多1,5的4倍多2,7的3倍多1。
图79
“你们由画图的方法,总算把答案求出来了,但是算法是什么呢?”马先生这一问,却把我们难住了。先是有人说是求它们的最小公倍数,这当然不对,3、5、7的最小公倍数是105呀!后来又有人说,从它们的最小公倍数中减去3,除所余的1。也有人说减去5,除所余的2,自然都不是。从图上仔细看去,也毫无结果。最终只好去求教马先生了。他见大家都束手无策,便开口道:“这本来是咱们中国的一个老题目,它还有一个别致的名称——韩信点兵。它的算法,有诗一首:三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知。你们懂得这诗的意思吗?”
“不懂!不懂!”许多人都说。
于是马先生加以解释:“这也和‘无边落木萧萧下’的谜一样。三人同行七十稀,是说3除所得的余数用70去乘它。五树梅花廿一枝,是说5除所得的余数,用21去乘。七子团圆月正半,是说7除所得的余数用15去乘。除百零五便得知,是说把上面所得的三个数相加,加得的和若大于105,便把105的倍数减去。因此得出来的,就是最小的一个数。好!你们依照这个方法将本题计算一下。”
下面就是计算的式子:
奇怪!对是对了,但为什么呢?周学敏还找了一个题“三三数剩二,五五剩三,七七数剩四”来试:
53正是3的17倍多2,5的10倍多3,7的7倍多4。真奇怪!但是为什么?对于这个疑问,马先生说,把上面的式子改成下面的形式就明白了。
“这三个式子,可以说是同一个数的三种解释:(1)表明它是3的倍数多2;(2)表明它是5的倍数多3;(3)表明它是7的倍数多4。这不是正和题目所给的条件相合吗?”马先生说完了,王有道似乎已经懂得,但又有点儿怀疑的样子。他踌躇了一阵,向马先生提出这么一个问题:“用70去乘3除所得的余数,是因为70是5和7的公倍数,又是3的倍数多1。用21去乘5除所得的余数,是因为21是3和7的公倍数,又是5的倍数多1。用15去乘7除所得的余数,是因为15是5和3的公倍数,又是7的倍数多1。这些我都明白了。但,这70,21和15怎么找出来的呢?”
“这个问题,提得很合适!”马先生说,“这类题的要点,就在这里。但,这些数的求法,说来话长,你们可以去看开明书店出版的《数学趣味》,里面就有一篇专讲《韩信点兵》的。——不过,像本题,三个除数都很简单,70、21、15都容易推出来。5和7的最小公倍数是什么?”
“35。”一个同学回答。
“3除35,剩多少?”
“2——”另一个同学说道。
“注意!我们所要的是5和7的公倍数,同时又是3的倍数多1的一个数。35当然不是,将2去乘它,得70,既是5和7的公倍数,又是3的倍数多1。至于21和15,情形也相同。不过21已是3和7的公倍数,又是5的倍数多1;15已是5和3的公倍数,又是7的倍数多1,所以用不到再把什么数都去乘它了。”
最后,他还补充一句:“我提出这个题的原意,是要你们知道,它的形式虽和求最小公倍数的题相同,实质上却是两回事,必须要加以注意。”