书城科普读物数理化之谜
4412800000022

第22章 “韩信点兵”

“韩信点兵”传说是我国汉朝名将韩信计算士兵数目的独特方法,先于外国约500年。他不让士兵报数,也不是五个、十个地去数,而是让士兵列队行进,先是每排3人,然后每排5人,最后每排7人,只将所余的士兵数站着便知士兵的总数,写成题目就是:

“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问此物最小几何!

答曰:“二十三。”

术曰:“三三数之剩二置一百四十,五五数之剩三置六十三,七七数之剩二置三十,并之得二百三十三,以二百十减之即得。”

分析,所求的数N应该是5和7的倍数,同时被3除后余2;是3和7的倍数,同时被5除后余3;是3和5的倍数,同时被7除后余2,同时满足上述三个条件的数中最小的数。

是5和7的倍数,同时被3除后余1的数是70。则余2的数就是70×2=140。是3和7的倍数,同时被5除余1的是21,则余3的数就是21×3=63;是3和5的倍数,同时被7除后余1的数是15则余2的数就是15×2=30。

所以,N=70×2+21×3+15×2-105×2

=233-210=23。

上述解决法也可叙述成诗:

三人同行七十稀,五树梅花廿一枝。

七子团圆正半月,除百零五便得知。

用集合法求解也行。所要求的数应同时满足三个条件的正整数集合中最小的一个。现用N1、N2、N3分别表示满足被3除余2、被5除余3、被7除余2,三个条件的正整数集合。

N1={2,5,8,11,14,17,20,23,26,…,128,…}

N2={3,8,13,18,23,28,…,128,…}

N3={2,9,16,23,30,37,…,128,…}

∴N={23,128,233,…}

其中最小的数是23。