中国剩余定理
2007-11-19 15:53
155 查看
在中国数学史上,广泛流传着一个“韩信点兵”的故事:
韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝的建立了卓绝的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力,先令士兵从1至3报数,然后记下最后一个士兵所报之数;再令士兵从1至5报数,也记下最后一个士兵所报之数;最后令士兵从1至7报数,又记下最后一个士兵所报之数;这样,他很快就算出了自己部队士兵的总人数,而敌人则始终无法弄清他的部队究竟有多少名士兵。
这个故事中所说的韩信点兵的计算方法,就是现在被称为“中国剩余定理”的一次同余式解法。它是中国古代数学家的一项重大创造,在世界数学史上具有重要的地位。
最早提出并记叙这个数学问题的,是南北朝时期的数学著作《孙子算经》中的“物不知数”题目。这道“物不知数”的题目是这样的:
“今有一些物不知其数量。如果三个三个地去数它,则最后还剩二个;如果五个五个地去数它,则最后还剩三个;如果七个七个地去数它,则最后也剩二个。问:这些物一共有多少?”
用简练的数学语言来表述就是:求这样一个数,使它被3除余2,被5除余3,被7除余2。《孙子算经》给出了这道题目的解法和答案,用算式表示即为:
70×2+21×3+15×2-105×2=23
《孙子算经》的“物不知数”题虽然开创了一次同余式研究的先河,但由于题目比较简单,甚至用试猜的方法也能求得,所以尚没有上升到一套完整的计算程序和理论的高度。真正从完整的计算程序和理论上解决这个问题的,是南宋时期的数学家秦九韶。秦九韶在他的《数书九章》中提出了一个数学方法“大衍求一术”,系统地论述了一次同余式组解法的基本原理和一般程序。
秦九韶为什么要把他的这一套计算程序和基本原理称为“大衍求一术”呢?这是因为其计算程序的核心问题是要“求一”。所谓“求一”,通俗他说,就是求“一个数的多少倍除以另一个数,所得的余数为一”。那么为什么要“求一”呢?我们可以从“物不知数”题的几个关键数字70、21、15中找到如下的规律:
70=2×5×7≡1(mod3)
21=3×7≡1(mod5)
15=3×5≡1(mod7)
其中70是5和7的倍数,但被3除余1;21是3和7的倍数,但被5除余1;15是3和5的倍数,但被7除余1,任何一个一次同余式组,只要根据这个规律求出那几个关键数字,那么这个一次同余式组就不难解出了。为此,秦九韶提出了乘率、定数、衍母、衍数等一系列数学概念,并详细叙述了“大衍求一术”的完整过程。(由于解法过于繁细,我们在这里就不展开叙述了,有兴趣的读者可进一步参阅有关书籍。)直到此时,由《孙子算经》“物不知数”题开创的一次同余式问题,才真正得到了一个普遍的解法,才真正上升到了“中国剩余定理”的高度。
从《孙子算经》到秦九韶《数书九章》对一次同余式问题的研究成果,在19世纪中期开始受到西方数学界的重视。1852年,英国传教士伟烈亚力向欧洲介绍了《孙子算经》的“物不知数”题和秦九韶的“大衍求一术”;1876年,德国人马蒂生指出,中国的这一解法与西方19世纪高斯《算术探究》中关于一次同余式组的解法完全一致。从此,中国古代数学的这一创造逐渐受到世界学者的瞩目,并在西方数学史著作中正式被称为“中国剩余定理”。
以上解法若推广到一般情况,便得到了中国剩余定理的一个构造性证明。
一般地,中国剩余定理是指若有一些两两互质的整数 ,则以下联立同余方程组对模 有唯一解:
此定理的一般形式是设m = m1 ,… ,mk 为两两互素的正整数,m=m1,…mk ,m=miMi,i=1,2,… ,k 。则同余式组x≡b1(modm1),…,x≡bk(modmk)的解为x≡M'1M1b1+…+M'kMkbk (modm)。式中M'iMi≡1 (modmi),i=1,2,…,k 。直至18世纪 C.F.高斯才给出这一定理。孙子定理对近代数学如环论,赋值论都有重要影响。
韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝的建立了卓绝的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力,先令士兵从1至3报数,然后记下最后一个士兵所报之数;再令士兵从1至5报数,也记下最后一个士兵所报之数;最后令士兵从1至7报数,又记下最后一个士兵所报之数;这样,他很快就算出了自己部队士兵的总人数,而敌人则始终无法弄清他的部队究竟有多少名士兵。
这个故事中所说的韩信点兵的计算方法,就是现在被称为“中国剩余定理”的一次同余式解法。它是中国古代数学家的一项重大创造,在世界数学史上具有重要的地位。
最早提出并记叙这个数学问题的,是南北朝时期的数学著作《孙子算经》中的“物不知数”题目。这道“物不知数”的题目是这样的:
“今有一些物不知其数量。如果三个三个地去数它,则最后还剩二个;如果五个五个地去数它,则最后还剩三个;如果七个七个地去数它,则最后也剩二个。问:这些物一共有多少?”
用简练的数学语言来表述就是:求这样一个数,使它被3除余2,被5除余3,被7除余2。《孙子算经》给出了这道题目的解法和答案,用算式表示即为:
70×2+21×3+15×2-105×2=23
《孙子算经》的“物不知数”题虽然开创了一次同余式研究的先河,但由于题目比较简单,甚至用试猜的方法也能求得,所以尚没有上升到一套完整的计算程序和理论的高度。真正从完整的计算程序和理论上解决这个问题的,是南宋时期的数学家秦九韶。秦九韶在他的《数书九章》中提出了一个数学方法“大衍求一术”,系统地论述了一次同余式组解法的基本原理和一般程序。
秦九韶为什么要把他的这一套计算程序和基本原理称为“大衍求一术”呢?这是因为其计算程序的核心问题是要“求一”。所谓“求一”,通俗他说,就是求“一个数的多少倍除以另一个数,所得的余数为一”。那么为什么要“求一”呢?我们可以从“物不知数”题的几个关键数字70、21、15中找到如下的规律:
70=2×5×7≡1(mod3)
21=3×7≡1(mod5)
15=3×5≡1(mod7)
其中70是5和7的倍数,但被3除余1;21是3和7的倍数,但被5除余1;15是3和5的倍数,但被7除余1,任何一个一次同余式组,只要根据这个规律求出那几个关键数字,那么这个一次同余式组就不难解出了。为此,秦九韶提出了乘率、定数、衍母、衍数等一系列数学概念,并详细叙述了“大衍求一术”的完整过程。(由于解法过于繁细,我们在这里就不展开叙述了,有兴趣的读者可进一步参阅有关书籍。)直到此时,由《孙子算经》“物不知数”题开创的一次同余式问题,才真正得到了一个普遍的解法,才真正上升到了“中国剩余定理”的高度。
从《孙子算经》到秦九韶《数书九章》对一次同余式问题的研究成果,在19世纪中期开始受到西方数学界的重视。1852年,英国传教士伟烈亚力向欧洲介绍了《孙子算经》的“物不知数”题和秦九韶的“大衍求一术”;1876年,德国人马蒂生指出,中国的这一解法与西方19世纪高斯《算术探究》中关于一次同余式组的解法完全一致。从此,中国古代数学的这一创造逐渐受到世界学者的瞩目,并在西方数学史著作中正式被称为“中国剩余定理”。
以上解法若推广到一般情况,便得到了中国剩余定理的一个构造性证明。
一般地,中国剩余定理是指若有一些两两互质的整数 ,则以下联立同余方程组对模 有唯一解:
此定理的一般形式是设m = m1 ,… ,mk 为两两互素的正整数,m=m1,…mk ,m=miMi,i=1,2,… ,k 。则同余式组x≡b1(modm1),…,x≡bk(modmk)的解为x≡M'1M1b1+…+M'kMkbk (modm)。式中M'iMi≡1 (modmi),i=1,2,…,k 。直至18世纪 C.F.高斯才给出这一定理。孙子定理对近代数学如环论,赋值论都有重要影响。
相关文章推荐
- 扩展欧几里得、求乘法逆元及其应用、中国剩余定理(互质版和非互质版)、欧拉函数、快速判素数模板
- 【bzoj2142】礼物 扩展Lucas定理+中国剩余定理
- 中国剩余定理
- 扩展欧几里得、逆元、线性同余方程组、中国剩余定理总结
- 中国剩余定理(详解)
- poj1006 中国剩余定理&&中国剩余定理解析
- HDU 5446 Lucas + 中国剩余定理 + 快速乘法
- 在线模板_中国剩余定理
- 初等数论四大定理(威尔逊定理,欧拉定理,中国剩余定理,费马小定理)
- 韩信点兵,中国剩余定理
- POJ 1006 中国剩余定理
- 中国剩余定理(也叫孙子定理)
- hdu4767(bell数+矩阵快速幂+中国剩余定理)
- 中国剩余定理。。。
- 伟大的中国剩余定理
- [BZOJ1951][SDOI2010]古代猪文(Lucas定理+中国剩余定理)
- Poj 1006 中国剩余定理
- 1129: [POI2008]Per 中国剩余定理
- HDU 5238 Calculator(线段树+中国剩余定理)
- POJ 2891 中国剩余定理