“韩信点兵”是怎样一个数学问题
2023-12-01陈丹阳
风流一代·经典文摘 2023年11期
陈丹阳
韩信是汉初名将,民间流传一句歇后语“韩信点兵——多多益善”,用來形容韩信的军事才能。有意思的是,“韩信点兵”也是一个流传很广的数学问题。据说韩信在点兵的时候,会先让士兵三人站成一排,记下最后多出的人数;再让士兵五人站成一排,又记下最后多出的人数;最后让士兵七人站成一排,同样记下最后多出的人数。这样他就能算出自己部队的总人数了。
在我国,“韩信点兵”问题最早出现在南北朝时期的数学著作《孙子算经》中,叫作“物不知数”问题:“一个整数除以三余二,除以五余三,除以七余二,求这个整数。”这个问题因此也被称为“孙子问题”。此类问题在现代数学中叫作“一次同余问题”,其解法称为“中国剩余定理”或“孙子定理”。
宋代数学家秦九韶在《数书九章》中对这个问题作出了完整系统的解答,称为“大衍求一术”。明代数学家程大位则在《算法统宗》中将它的解法编成易于上口的歌诀:“三人同行七十稀,五树梅花廿一支,七子团圆正半月,除百零五使得知。”它的意思是:将除以三得到的余数乘以七十,除以五得到的余数乘以二十一,除以七得到的余数乘以十五,全部加起来后减去一百零五(或者一百零五的倍数),得到的余数就是最后的答案。按照这个方法,《孙子算经》中“物不知数”问题的最小答案是二十三。
(亚白摘自中华书局《中国人应知的古代科技常识》)