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