“韩信点兵”传说是我国汉朝名将韩信计算士兵数目的独特方法,先于外国约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。