我国古代学者早就研究过这个问题。例如我国明朝数学家程大位在他著的《算法统宗》(1593年)中就用四句很通俗的口诀暗示了此题的解法:

三人同行七十稀,

五树梅花甘一枝,

七子团圆正半月,

除百零五便得知。

"正半月"暗指15."除百零五"的原意是,当所得的数比105大时,就105、105地往下减,使之小于105;这相当于用105去除,求出余数。

这四句口诀暗示的意思是:当除数分别是3、5、7时,用70乘以用3除的余数,用21乘以用5除的余数,用15乘以用7除的余数,然后把这三个乘积相加。加得的结果如果比105大,就除以105,所得的余数就是满足题目要求的最小正整数解。

按这四句口诀暗示的方法计算韩信点的这队士兵的人数可得:

70×2+21×3+15×4=263,

263=2×105+53,

所以,这队士兵至少有53人。

在这种方法里,我们看到:70、21、15这三个数很重要,稍加研究,可以发现它们的特点是:

70是5与7的倍数,而用3除余1;

21是3与7的倍数,而用5除余1;

15是3与5的倍数,而用7除余1.

因而

70×2是5与7的倍数,用3除余2;

21×3是3与7的倍数,用5除余3;

15×4是3与5的倍数,用7除余4.

如果一个数以a余数为b,那么给这个数加上a的一个倍数以后再除以a,余数仍然是b.所以,把70×2、21×3与15×4都加起来所得的结果能同时满足"3除余2、用5除余3、用7除余4"的要求。一般地,

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,因而我们得到了"七子团圆正半月".

下一页
阅读全文