中国剩余定理-----孙子定理是什么?
我们先从故事说起,这样一般人也比较容易接受。
民间传说着一则故事——“韩信点兵”。
秦朝末年,楚汉相争。
一次,韩信将1500名将士与楚王大将李锋交战。苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是韩信整顿兵马也返回大本营。当行至一山坡,忽有后军来报,说有楚军骑兵追来。只见远方尘土飞扬,杀声震天。汉军本来已十分疲惫,这时队伍大哗。韩信兵马到坡顶,见来敌不足五百骑,便急速点兵迎敌。他命令士兵3人一排,结果多出2名;接着命令士兵5人一排,结果多出3名;他又命令士兵7人一排,结果又多出2名。韩信马上向将士们宣布:我军有1073名勇士,敌人不足五百,我们居高临下,以众击寡,一定能打败敌人。汉军本来就信服自己的统帅,这一来更相信韩信是“神仙下凡”、“神机妙算”。于是士气大振。一时间旌旗摇动,鼓声喧天,汉军步步进逼,楚军乱作一团。交战不久,楚军大败而逃。
首先我们先求5、9、13、17之最小公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最小公倍数为这些数的积),然后再加3,得9948(人)。
在一千多年前的《孙子算经》中,有这样一道算术题: “今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”按照今天的话来说:一个数除以3余2,除以5余3,除以7余2,求这个数. 这样的问题,也有人称为“韩信点兵”.它形成了一类问题,也就是初等数论中解同余式.这类问题的有解条件和解的方法被称为“中国剩余定理”。
牛B的是这是由中国人首先提出的.
① 有一个数,除以3余2,除以4余1,问这个数除以12余几? 解:除以3余2的数有: 2, 5, 8, 11,14, 17, 20, 23…. 它们除以12的余数是: 2,5,8,11,2,5,8,11,…. 除以4余1的数有: 1, 5, 9, 13, 17, 21, 25, 29,…. 它们除以12的余数是: 1, 5, 9, 1, 5, 9,…. 一个数除以12的余数是唯一的.上面两行余数中,只有5是共同的,因此这个数除以12的余数是5. 如果我们把①的问题改变一下,不求被12除的余数,而是求这个数.很明显,满足条件的数是很多的,它是 5+12×整数, 整数可以取0,1,2,…,无穷无尽.事实上,我们首先找出5后,注意到12是3与4的最小公倍数,再加上12的整数倍,就都是满足条件的数.这样就是把“除以3余2,除以4余1”两个条件合并成“除以12余5”一个条件.《孙子算经》提出的问题有三个条件,我们可以先把两个条件合并成一个.然后再与第三个条件合并,就可找到答案. ②一个数除以3余2,除以5余3,除以7余2,求符合条件的最小数. 解:先列出除以3余2的数: 2, 5, 8, 11, 14, 17, 20, 23, 26,…, 再列出除以5余3的数: 3, 8, 13, 18, 23, 28,…. 这两列数中,首先出现的公共数是8.3与5的最小公倍数是15.两个条件合并成一个就是8+15×整数,列出这一串数是8, 23, 38,…,再列出除以7余2的数 2, 9, 16, 23, 30,…, 就得出符合题目条件的最小数是23. 事实上,我们已把题目中三个条件合并成一个:被105除余23. 那么韩信点的兵在1000-1500之间,应该是105×10+23=1073人中国有一本数学古书「孙子算经」也有类似的问题:「今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?」 答曰:「二十三」术曰:「三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得。凡三三数之剩一,则置七十,五五数之剩一,则置二十一,七七数之剩一,则置十五,即得。」孙子算经的作者及确实著作年代均不可考,不过根据考证,著作年代不会在晋朝之后,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位。简单扼要总结:1.算两两数之间的能整除数2.算三个数的能整除数3.用1中的三个整除数之和减去2中的整除数之差(有时候是倍数)
看看吧,中国其实不比外国人差,要不是清朝傻X毁了我中华1世纪,说不定今日的“世界警察”就是中国!
2021-05-04
国家科技报告服务系统[ [ 405700021--201701D111002/01 ] 公开范围[不延期]
科技报告 “素数分布规律及其在公钥密码学中的应用研究”项目报告中剩余倍分法比中国剩余定理 有以下十点优势。 本研究所述剩余倍分法存在如下优势:
剩余备份法之倍分式计算简便,只通过简单的移位运算和四则运算即可实现,计算 所用的时间较同类的其他方法更少,其算法的时间复杂度与空间复杂度均较低。
2. 剩余倍分法的使用范围较广,既可以应用于初等数论中解决同余式、同余式组和二 元一次不定方程的相关问题,亦可用于解决计算机算法、计算机辅助设计、最优 HASH 函 数设计、快速傅里叶变换,以及环论、域论等领域中的相关问题。 3.
3. 剩余倍分法将两两互素的模放在同等对称的地位,引入了反乘数和反乘率的概念, 考虑了负余数以及所获解数的正、反性质,从而将获解答案稳定在非负数的范围内。
4. 剩余倍分法可同时求解反乘数、反乘率,从而得出两两互素模之间存在的规律和性 质,计算方法严谨且效率高。
5. 剩余倍分法求解的中间过程,每一步都具有实际的算数意义,不同于辗转相除法的 中间过程,每一步都没有明显的实际意义。
6. 剩余倍分法具有同步纠错功能,计算过程中的每一步都可以自动检验,即若出现无 法整除的情况,则意味着计算错误;只要计算出错,后续的步骤便无法进行,由此可保证 计算的正确性。
7. 剩余倍分法所计算出的乘数、乘率、反乘数、反乘率可根据实际情况灵活选用,例 如在大模数计算时,使用反乘率或反乘数代入计算,或可大大节省计算量。
8. 剩余倍分法的原理浅显准确,易于理解,且比起其他方法来更适用于计算机编程实 现。
9. 在应用中国剩余定理定理时,按照通常的办法,是先做辗转相除法,再往回逐次算 出寄数,这样得出的答案既可能是乘数,也可能是反乘数;而剩余倍分法是往回逐次算出 乘数,最后的答案一定就是乘数,含义直观而明确。
10. 应用剩余倍分法可以完美地解决困扰人类多年的“蓍卦发微”“行程相及”等数学 问题,不仅证明了秦九韶大衍求一术、大衍总数术演算方法的正确性,而且发现“行程相及” 这类问题的计算方法已不再局限于求解同余式组一般的未知数,只用速度即可求出距离,而 非通常的用速度和时间求距离,算法极尽巧妙。 馆 藏 号:14x-2020-000356
以下两篇是我结合一次同余式解法的洪伯阳方法,并利用各个子同余式的对等(对称)性对在最终计算上作出明显改进方案的论述:
http://hi.baidu.com/wsktuuytyh/blog/item/3411f92d4df9bb38359bf74d.html
http://hi.baidu.com/wsktuuytyh/blog/item/3341153dd73cc9cb9e3d622d.html
中国剩余定理与拉格朗日插值法的关系,及利用牛顿插值法略作转化的解法,见
http://hi.baidu.com/wsktuuytyh/blog/item/b285a7896397cdbf0e244478.html
中国剩余定理与插值法的关系的略微专门一点的说明和抛砖引玉性的文字,见
http://hi.baidu.com/wsktuuytyh/blog/item/c5c77cecc66d6d302697918a.html
外一则:
解一次同余式的洪伯阳方法(及我的引申-分数,比例,同余的性质综合为用)
http://hi.baidu.com/wsktuuytyh/blog/item/bfb0c64caf81f0f4d72afc81.html
如果仅要了解一点的话,看一下百度百科-孙子定理(中国剩余定理,剩余定理,韩信点兵,鬼谷算):
http://baike.baidu.com/view/157384.htm?fromenter=%D6%D0%B9%FA%CA%A3%D3%E0%B6%A8%C0%ED
这个词条最近被重新编写过了,原先以“剩余倍分法”为主讲。
后来百度用户“36寸液晶”参照了我的提议(http://zhidao.baidu.com/question/102888604.html)
进行了投诉(投诉贴见http://tousu.baidu.com/baike/view/3007),删去了有关剩余倍分法的相关内容。不过我建议保留一些争鸣内容的链接,我考虑抽空进行整理,以图对孙子定理及一些相关的观点进行全面的说明。
后来百度用户“36寸液晶”参照了我的提议
(http://zhidao.baidu.com/question/102888604.html)
进行了投诉(投诉贴见http://tousu.baidu.com/baike/view/3007),删去了有关
剩余倍分法的相关内容。不过我建议保留一些争鸣内容的链接,我考虑抽空进行
整理,以图对孙子定理及一些相关的观点进行全面的说明。