中国剩余定理的应用实例——韩信点兵( 二 )


70m+21n+15k(1≤m<3 , 1≤n<5 , 1≤k<7)
能同时满足"用3除余m、用5除余n、用7除余k"的要求 。除以105取余数 , 是为了求合乎题意的最小正整数解 。
我们已经知道了70、21、15这三个数的性质和用处 , 那么 , 是怎么把它们找到的呢?要是换了一个题目 , 三个除数不再是3、5、7 , 应该怎样去求出类似的有用的数呢?
为了求出是5与7的倍数而用3除余1的数 , 我们看看5与7的最小公倍数是否合乎要求 。5与7的最小公倍数是5×7=35 , 35除以3余2 , 35的2倍除以3余2 , 35的2倍除以3就能余1了 , 于是我们得到了"三人同行七十稀".
为了求出是3与7的倍数而用5除余1的数 , 我们看看3与7的最小公倍数是否合乎要求 。3与7的最小公倍数是3×7=21 , 21除以5恰好余1 , 于是我们得到了"五树梅花甘一枝".
为了求出是3与5的倍数而用7除余1的数 , 我们看看3与5的最小公倍数是否合乎要求 。3与5的最小公倍数是3×5=15 , 15除以7恰好余1 , 因而我们得到了"七子团圆正半月".
3、5、7的最小公倍数是105 , 所以"除百零五便得知".
依照上面的思路 , 我们可以举一反三 。
例如:试求一数 , 使之用4除余3 , 用5除余2 , 用7除余5.
解我们先求是5与7的倍数而用4除余1的数;5与7的最小公倍数是5×7=35 , 35除以4余3 , 3×3除以4余1 , 因而35×3=105除以4余1 , 105是5与7的倍数而用4除余1的数 。
我们再求4与7的倍数而用5除余1的数;4与7的最小公倍数是4×7=28 , 28除以5余3 , 3×7除以5余1 , 因而28×7=196除余5余1 , 所以196是4与7的倍数而用5除余1的数 。
最后求是4与5的倍数而用7除余1的数:4与5的最小公倍数是4×5=20 , 20除以7余6 , 6×6除以7余1 , 因而20×6=120除以7余1 , 所以120是4与5的倍数而用7除余1的数 。
利用105、196、120这三个数可以求出符合题目要求的解:
105×3+196×2+120×5=1307.
由于4、5、7的最小公倍数是4×5×7=140 , 1307大于140 , 所以1307不是合乎题目要求的最小的解 。用1037除以140得到的余数是47 , 47是合乎题目的最小的正整数解 。
一般地 , 
105m+196n+120k(1≤m<4 , 1≤n<5 , 1≤k<7)
是用4除余m , 用5除余n , 用7除余k的数;(105m+196n+120k)除以140所得的余数是满足上面三个条件的最小的正数 。
上面我们是为了写出105m+196n+120k这个一般表达式才求出了105这个特征数 。如果只是为了解答我们这个具体的例题 , 由于5×7=35既是5与7的倍数除以4又余3 , 就不必求出105再乘以3了 。
35+196×2+120×5=1027
就是符合题意的数 。
1027=7×140+47 , 
由此也可以得出符合题意的最小正整数解47.
《算法统宗》中把在以3、5、7为除数的"物不知其数"问题中起重要作用的70、21、15这几个特征数用几句口诀表达出来了 , 我们也可以把在以4、5、7为除数的问题中起重要作用的105、196、120这几个特征数编为口诀 。留给读者自己去编吧 。
凡是三个除数两两互质的情况 , 都可以用上面的方法求解 。