中国数学源远流长几千年,但一直以“算术”见长,正儿八经的数学定理并不多。
不过,有一个定理来头很大。它力压勾股定理,夺得国字号桂冠。它就是中国剩余定理(英文Chinese Remainder Theorem),又名孙子定理,应该算是中国古代最有名的数学成就之一。
其实勾股定理有些冤。它没被冠名国字号不是因为它不重要,而是因为在国外它被称为毕达哥拉斯定理。当然,甭管到底叫小花还是Ashley,勾股定理在数学上的带头大哥地位是中国剩余定理撼动不了的。
中国剩余定理,以题目的形式出自中国古代数学名著《孙子算经》,又被称为物不知其数问题:
今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
翻译成数学语言就是:有一个整数,除以3余2,除以5余3,除以7余2,问这个整数是几?
这个问题还有另一个名字,叫“韩信点兵”。
后来,明朝数学爱好者程大位在他的《算法统宗》中给出了算法的口诀:
三人同行七十稀,五树梅花廿一枝, 七子团圆正半月,除百零五便得知。
意思是取(2×70+3×21+2×15)÷105的余数,结果为23。
不过,大部分人看到这里是一脸懵圈的。这到底啥意思啊?让我背口诀吗?
我们可以这么来考虑这个问题,假设我们要求的数为x,那么我们只需要找到3个数x1, x2, x3,分别满足下列条件:
x1除以3余2,除以5余0余数定理,除以7余0;
x2除以3余0,除以5余3,除以7余0;
x3除以3余0,除以5余0,除以7余2;
那么x=x1+x2+x3除以3、5、7分别余2、3、2。
以x1为例,如果我们能找到1个数y1,满足:
y1除以3余1,除以5余0,除以7余0。
那么x1=2y1就满足要求。
由于y1除以5和7余数都为0,因此一定是35的倍数,假设y1=35k,那么有:
35k ≡ 1 (mod 3)
(注:上面的式子表示35k除以3余1)
根据乘法和余数的关系,我们有下面的重要结果:
a×b mod m = (a mod m)×(b mod m) mod m
即:两个数的乘积除以m的余数等于这两个数分别除以m的余数相乘后再除以m的余数。
因此, 35k mod 3 = (35 mod 3)×k mod 3 = 2k mod 3 = 1
由此可得,k最小为2,y1=70。
从而,x1=2×70=140。
这对应了“三人同行七十稀”这句话,也就是应该把三三数之的余数2乘以70。
实际上,按照群的观点,{1余数定理,2}和模3乘法构成一个群,满足2k mod 3=1的k实际上就是2在模3乘法意义下的逆元。(听不懂?可以直接忽略这句话)。
同样地,我们要找一个y2,使得:
y2除以3余0,除以5余1,除以7余0。
从而x2=3y2可以满足要求。
可以令 y2=21k
则 21k mod 5 = 1, 即k mod 5 =1, 因此k=1, y2=21
由此可得: x2=3×21=63。
这对应了“五树梅花廿一枝”这句话,也就是应该把五五数之的余数3乘以21。
同理可知, x3=2×15=30。
这对应了“七子团圆正半月”这句话,也就是应该把七七数之的余数2乘以15。
最后, x=x1+x2+x3=140+63+30=233。
当然,解不止一个。
显然,如果a是一个解,那么a+105k也是一个解。
因此,最小的满足要求的数应该是233-2×105=23。
这对应了“除百零五便得知”。
当然,如果只是上面这个特例,那不能被称为定理。物不知其数问题和上面的解法可以被推广到一般化的一次同余方程组:
x ≡ a1 (mod m1)
x ≡ a2 (mod m2)
…
x ≡ an (mod mn)
我国南宋的数学家秦九韶就对该问题做了系统研究,并给出了著名的“大衍求一术”,原理和前面的特例所采用的方法是一样的。
为了不让普通读者晕文,就不再写出抽象后的一般化推导过程和结果了,因为证法用现在的数学写出来需要用到模p乘法的逆元这个表示。
新书《给孩子的数学思维课》不断收到孩子和家长的反馈。三年级的孩子看到不肯睡觉,还要二刷三刷;大人看得把工作都丢一边了。不就是本数学思维书吗?有那么好看吗?
为啥有这魔力?我也不知道!还是阅读后你来告诉我吧。
限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688