本文探讨的内容不仅仅是一道小学生的数学题,而且与国家公务员考试(简称“国考”)的试题有关。 问题的提出 我有一个与侄孙女同龄的亲戚,去年上小学四年级的时候曾经问过我一道老师布置的数学作业题: “一些苹果,每5个一堆去数剩1个,每6个一堆去数剩2个,每7个一堆去数剩3个,请问至少有多少苹果?” 如果把这道题用数学语言“翻译”出来,就是: “一个数被5除余1,被6除余2,被7除余3,这个数最小是多少?” 再来看看2006年国考的一道真题: 一个三位数除以9余7,除以5余2,除以4余3,这样的三位数共有( A. 不难看出,这两道题本质上是差不多的,此类问题在《数论》里称为余数问题。 问题的背景 余数问题的背景要追溯到一千五百多年以前。 那时候,中国民间经常玩一种叫做“隔墙听”的游戏,也就是两个人站在墙的两边,其中一人出题让另一个猜:“今有物不知其数 ,三三数之余二 ,五五数之余三,七七数之余二,问今有物几?”把它翻译成现代汉语也就是:求一个数,使这个数用3除的余数是2,用5除的余数是3,用7除的余数是2,这个数最小是多少?聪明人用心算几次,就可以知道这个数是23。 中国古代的数学家经过潜心研究,给出了这个问题的一般解法。后来明朝一个叫程大位的人把这个一般解法概括为一首歌谣:“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。”其意思是:用3除得的余数乘以70、用5除得的余数乘以21、用7除得的余数乘以15,再把这三个数相加,若超过105,则一直减去105,直到剩下最小的正整数为止。 于是上面的例子用此法就可以这样计算: 2*70 + 3*21 + 2*15 = 233 然后再减去两个105,便得答案23。 一直到十八世纪,伟大的德国数学家高斯在研究数论的时候提出了同余式的概念,推广了中国古代的这个算法,并将其命名为“中国余数定理”。由于这个算法最早见于《孙子算经》,所以也被称为“孙子定理”。 问题的求解 对没有学习过余数定理的人(包括我自己),此类问题更一般情况(任意三个互质的数作除数、且余数也各有不同)的求解方法也可以用通俗的语言作如下的讨论。不过在讨论之前要先温习一下整数除法的一个重要性质: “在整数除法中,若被除数扩大若干倍,则余数也随之扩大相同的倍数。” 例如: 10除以4,余数是2 15除以4,余数是3 20除以4,余数是0 25除以4,余数是1 ………… 好了,现在可以书归正传了。 如果在余数问题中 ,除数是任意三个两两互质的数 ,而且余数也各有不同,则解题的思路就是“分进合击、各个击破”,而解题的关键则是分别找出三个除数对应的“同余数”。这里所谓某个除数对应的“同余数”,是指能同时被其余两个除数整除、且被第三个除数(自身)除后的余数与原题的余数相同的数中最小的那一个。举例说明如下: 例. 1. 为了计算方便,可以先把题目所给的条件列一个表 3……1 4……2 5……4 左边的3、4、5是除数,右边的1、2、4是对应的余数; (1)除数3对应的“同余数” 应该满足两个条件,一是可以同时被另两个除数4、5整除,而且被3(自身)除的余数是1。 先求出4、5的最小公倍数4*5 = 20,显然20可以同时被4、5整除(废话!),然后用20除以3,结果发现余数是2而不是1 上述过程还可以简化为以下步骤: 求出4、5的最小公倍数 观察求出的20除以3的余数是不是1:如果是,则20即为所求;如果不是,则将20依次乘以2、3……,直到余数是1为止。 如果从余数的角度看,显然3对应的“同余数”40除以3、4、5的余数分别为1、0、0; (2)除数4对应的“同余数” : 3*5=
15 从而4对应的“同余数”是15*2 = 30; (3)除数5对应的“同余数”: 3*4=
12 此时,只要扩大一倍,余数就可以变成4,故5对应的“同余数”是12*2 = 24,它除以3、4、5的余数分别为0、0、4 2. 40 + 30 + 24 = 94 这里的和“94”就是所有能“被3除余1、被4除余2、被5除余4”的自然数中的一个。 这其中的原理是利用了“和的整除性” 举例来说,因为 数10:“被3除余1、被4除余2” 数21:“被3除余0、被4除余1” 所以它们的和 回看求三个“同余数”的过程,由于 3对应的“同余数”40除以3、4、5的余数分别为1、0、0 4对应的“同余数”30除以3、4、5的余数分别为0、2、0 5对应的“同余数”24除以3、4、5的余数分别为0、0、4 所以三个“同余数”的和94除以3、4、5的余数应该为1、2、4,与题目的要求完全相符。 3. 94-60 = 34 这里得到的34就是我们要求的满足条件且“最小的”自然数。 国考真题的解 掌握了以上的方法,现在可以求本文开头提到的国考真题的解了。 一个三位数除以9余7,除以5余2,除以4余3,这样的三位数共有(
A. 解:除数9对应的“同余数” : 20除以9,余数是2,必须扩大8倍,才可以使余数变为16,再除去一个9,相当于余数是7。故除数9对应的“同余数”为20的8倍,即160; 类似地,可以求出除数5、4对应的“同余数”分别为72、135;从而 160 + 72 +135 = 367 就是要求的数之一(而且验证无误)。 注意到三个除数的最小公倍数 187 故本题的正确答案应该选(A)。 分苹果问题的解 原题如下: “一些苹果,每5个一堆去数剩1个,每6个一堆去数剩2个,每7个一堆去数剩3个,请问至少有多少苹果?” 这道题本来是可以用上面的方法求解的,但由于它简单而且特殊(特殊之处下文要讲到),故利用一个特殊的口诀“最小公倍作周期,余同加余,和同加和,差同减差。”就可以很方便地得到答案。下面就举例说明这四句口诀的含义和用法: 例1. 此题最显著的特点就是余数相同(都余1),这就叫“余同”。计算口诀是“最小公倍作周期,余同加余”,计算步骤如下: (1)求出除数4、5、6的最小公倍数:4*5*6 =
120 (2)加上余数1: (3)以121为起点、最小公倍数120为周期依次叠加,就可以找出不超过500的所有满足“被4除余1,被5除余1,被6除余1”的三位数为121 例2. 此题的特点是“除数与余数的和”相同(4+3=7 (1)求出除数4、5、6的最小公倍数:4*5*6 =
120 (2)加上“除数与余数的和7”: (注:如果本题不是求最小的“三位数”而是求最小的“自然数”,则应该从127中减去周期120,得到的7即为所求。) 例3. 此题的特点是“除数与余数的差”相同(4-1=3 (1)求出除数4、5、6的最小公倍数:4*5*6 =
120 (2)减去“除数与余数的差3”: 弄懂了以上四句口诀的含义和用法,再回过头看看本文开头的“分苹果”问题,显然属于“差同减差”的题型,仿照例3,简单的口算就可以得到正确的答案是5*6*7 - 4 = 206。 http://control.blog.sina.com.cn/admin/article/article_add.php |
|