内容
公元前后的《孙子算经》中有“物不知数”问题:“今有物不知其数,三三数之余二 ,五五数之余
三 ,七七数之余二,问物几何?”答为“23”。也就是求同余式组x≡2 (mod3),x≡3 (mod5 ),x≡2 (mod7)(式中a≡b (modm)表示m整除a-b )的正整数解。明朝程大位用歌谣给出了该题的解法:“三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知。”即解为x≡2×70+3×21+2×15≡233≡23(mod105)。此定理的一般形式是设m = m1 ,… ,mk 为两两互素的正整数,m=m1,…mk ,m=miMi,i=1,2,… ,k 。则同余式组x≡b1(modm1),…,x≡bk(modmk)的解为x≡M'1M1b1+…+M'kMkbk (modm)。式中M'iMi≡1 (modmi),i=1,2,…,k 。直至18世纪 C.F.高斯才给出这一定理。孙子定理对近代数学如环论,赋值论都有重要影响。
解法中的三个关键数70,21,15,有何妙用,有何性质呢?首先70是3除余1而5与7都除得尽的数,所以70a是3除余a,而5与7都除得尽的数,21是5除余1,而3与7都除得尽的数,所以21b是5除余b,而3与7除得尽的数。同理,15c是7除余c,3与5除得尽的数,总加起来 70a+21b+15c 是3除余a,5除余b ,7除余c的数,也就是可能答案之一,但可能不是最小的,这数加减105(105=3*5*7)仍有这样性质,可以多次减去105而得到最小的正数解。
附:如70,其实是要找余2的,但只要找到了余1的再乘2即余二了。
孙子问题的解法,以现代的说法,是找出三个关键数70,21,15。解法的意思就是用70乘3除所得的余数,21乘5除所得的余数,15乘7除所得的余数,然后总加起来,除以105的余数就是答案。
即题目的答案为 70×2+21×3+15×2
=140+63+30
=233
233-2×105=23
公式:70a+21b+15c-105n
题中有三个数,分别为3、5、7,5*7/3余数为2,取35;3*7/5余数为1,要使余数为3,只需将3*7扩大3倍变成63即可;同样3*5/7的余数为1,要使余数为2,则将3*5扩大2倍,变成30。
(中国剩余定理CRT)设m1,m2,...,mk是两两互素的正整数,即gcd(mi, mj) =1, i≠j, i,j = 1,2,...,k
则同余方程组:
x≡b1 (mod m1)
x≡b2 (mod m2)
...
x≡bk (mod mk)
模[m1,m2,...,mk]有唯一解,即在[m1,m2,...,mk]的意义下,存在唯一的x,满足:
x≡bi mod [m1,m2,...,mk], i = 1,2,...,k
中国剩余定理”算理及其应用:
为什么这样解呢?因为70是5和7的公倍数,且除以3余1。21是3和7的公倍数,且除以5余1。15是3和5的公倍数,且除以7余1。(任何一个一次同余式组,只要根据这个规律求出那几个关键数字,那么这个一次同余式组就不难解出了。)把70、21、15这三个数分别乘以它们的余数,再把三个积加起来是233,符合题意,但不是最小,而105又是3、5、7的最小公倍数,去掉105的倍数,剩下的差就是最小的一个答案。用歌诀解题容易记忆,但有它的局限性,只能限于用3、5、7三个数去除,用其它的数去除就不行了。后来我国数学家又研究了这个问题,运用了像上面分析的方法那样进行解答。例1:一个数被3除余1,被4除余2,被5除余4,这个数最小是几?题中3、4、5三个数两两互质。则〔4,5〕=20;〔3,5〕=15;〔3,4〕=12;〔3,4,5〕=60。为了使20被3除余1,用20×2=40;使15被4除余1,用15×3=45;使12被5除余1,用12×3=36。然后,40×1+45×2+36×4=274,因为,274>60,所以,274-60×4=34,就是所求的数。例2:一个数被3除余2,被7除余4,被8除余5,这个数最小是几?题中3、7、8三个数两两互质。则〔7,8〕=56;〔3,8〕=24;〔3,7〕=21;〔3,7,8〕=168。为了使56被3除余1,用56×2=112;使24被7除余1,用24×5=120。使21被8除余1,用21×5=105;然后,112×2+120×4+105×5=1229,因为,1229>168,所以,1229-168×7=53,就是所求的数。例3:一个数除以5余4,除以8余3,除以11余2,求满足条件的最小的自然数。题中5、8、11三个数两两互质。则〔8,11〕=88;〔5,11〕=55;〔5,8〕=40;〔5,8,11〕=440。为了使88被5除余1,用88×2=176;使55被8除余1,用55×7=385;使40被11除余1,用40×8=320。然后,176×4+385×3+320×2=2499,因为,2499>440,所以,2499-440×5=299,就是所求的数。
例4:有一个年级的同学,每9人一排多5人,每7人一排多1人,每5人一排多2人,问这个年级至少有多少人 ?(幸福123老师问的题目)题中9、7、5三个数两两互质。则〔7,5〕=35;〔9,5〕=45;〔9,7〕=63;〔9,7,5〕=315。为了使35被9除余1,用35×8=280;使45被7除余1,用45×5=225;使63被5除余1,用63×2=126。然后,280×5+225×1+126×2=1877,因为,1877>315,所以,1877-315×5=302,就是所求的数。
例5:有一个年级的同学,每9人一排多6人,每7人一排多2人,每5人一排多3人,问这个年级至少有多少人 ? 题中9、7、5三个数两两互质。则〔7,5〕=35;〔9,5〕=45;〔9,7〕=63;〔9,7,5〕=315。为了使35被9除余1,用35×8=280;使45被7除余1,用45×5=225;使63被5除余1,用63×2=126。然后,280×6+225×2+126×3=2508,因为,2508>315,所以,2508-315×7=303,就是所求的数。(例5与例4的除数相同,那么各个余数要乘的“数”也分别相同,所不同的就是最后两步。)
关于“中国剩余定理”类型题目的另外解法“中国剩余定理”解的题目其实就是“余数问题”,这种题目,也可以用倍数和余数的方法解决。不懂论坛上有没人发过。小学奥赛考试时学习过,也用过,现在把方法写出来,如果懂的也别笑我,呵呵。例一,一个数被5除余2,被6除少2,被7除少3,这个数最小是多少?解法:题目可以看成,被5除余2,被6除余4,被7除余4 。看到那个“被6除余4,被7除余4”了么,有同余数的话,只要求出6和7的最小公倍数,再加上4,就是满足后面条件的数了,6X7+4=46。下面一步试下46能不能满足第一个条件“一个数被5除余2”。不行的话,只要再46加上6和7的最小公倍数42,一直加到能满足“一个数被5除余2”。这步的原因是,42是6和7的最小公倍数,再怎么加都会满足“被6除余4,被7除余4”的条件。46+42=8846+42+42=13046+42+42+42=172这是一种形式的,它的前提是条件中出现同余数的情况,如果遇到没有的,下面讲例二,一个班学生分组做游戏,如果每组三人就多两人,每组五人就多三人,每组七人就多四人,问这个班有多少学生?解法:题目可以看成,除3余2,除5余3,除7余4。没有同余的情况,用的方法是“逐步约束法”,就是从“除7余4的数”中找出符合“除5余3的数”,就是再7上一直加4,直到所得的数除5余3。得出数为18,下面只要在18上一直加7和5得最小公倍数35,直到满足“除3余2”4+7=1111+7=1818+35=53这种方法也可以解“中国剩余定理”解的题目。比“中国剩余定理”更好理解,我觉的速度上会比那个繁琐的公式化的解题更快。大家可以试下. 所以:一共有5个 187 367 547 727 907
此题的初等解法
四川省三台县工商局王志成的初等解法,简单、方便、可以永远的延续下去。
条件1、三三数之余二 ,条件2、五五数之余三 ,条件3、七七数之余二,条件4、十一十一数之余七,条件5、十三十三数之余五,条件6、十七十七数之余七,
1、满足条件1为等差数列:3N+2。
2、将等差列3N+2取5项有:2,5,8,11,14,必然有一项满足条件2,五五数之余三,结果为8,同时满足条件1和2的为等差数列:15N+8。
3、将等差列15N+8取7项有:8,23,38,53,68,83,98,必然有一项满足条件3,七七数之余二,结果为23,同时满足条件1,2,3的为等差数列:23+ 105N。
4、将等差列23+ 105N取11项有:23,128,233,338,443,548,653,758,863,968,1073,必然有一项满足条件4,十一十一数之余七,结果为128,同时满足条件1,2,3,4的为等差数列:128+1155N。
5、将等差列128+1155N取13项有: 128,1283,2438,3593,4748,5903,7058,8213,9368,10523,11678,12833,13988,必然有一项满足条件5,十三十三数之余五,结果为3593,同时满足条件1,2,3,4,5的为等差数列:3593+15015N。
6、将等差列3593+15015N N取17项有: 3593,18608,33623,48638,63653,78668,93683,108698,123713,138728,153743,168758,183773,198788,213803,228818,243833,必然有一项满足条件6,十七十七数之余七,结果为198788,同时满足条件1,2,3,4,5,6的为等差数列:198788+255255N。