早在公元四世纪前,我国数学著作 《孙子算经》中就提出过著名的“孙子问题”:
"今有物不知其数, 三三数之剩二,五五数之剩三,七七数之剩二,问物几何?"
也就是说
“有一数, 用3除它余2,用5除它余3,用7除它余 2,求这个数.”
用现代数学符号来记就是: 求一最小正整数
这里,符号
一般地, 符号
这个问题怎么求解呢?需要用到大衍求一术和中国剩余定理.
大衍求一术
什么叫大衍求一术呢?通俗讲就是求”一个数的多少倍除以另一数, 所得余数为
大衍求一术是公元1247年,南宋数学家秦九韶在《数书九章》一书记载的一种著名的方法,他用这种方法解联立一次同余式问题,获得了很好的效果,给中国和世界数学史增添了光辉的一页.
例如:求解:
即2970的多少倍除以83,所得余数为1?
具体操作步骤如下:
由此得出
当
大衍求一术和现代的求最大公约数的辗转相除法类似,至于具体原理,在此不再说明,有兴趣的可查阅参考文献.
孙子问题求解
回到“孙子问题”:“有一数, 用
“第一步,先将问题转化为求三个数,分别是
①
①这个问题就是求解同余式
所以,
也就是
②
③同②,
第二步,①
也就是用70乘以“用 3 除所得的余数 2”得 140,21 乘以 “用5除所得的余数3”得63,15乘以“用7除所得的余数2”得30,然后加起来得233.
注意到
又
其实第二步,就是应用“中国剩余定理”:下列联立一次同余式
的解为
在《数书九章》里记录了一桩盗窃案问题,我们把它作为今日的挑战题,请你化身宋慈来查案吧!
参考文献
[1] 夏树人, 孙道杠.中国古代数学的世界冠军[M].重庆出版社,1984.
[2] 刘钝. 国学丛书-大哉言数[M].辽宁教育出版社,1993.