中国剩余定理的典故

 我来答
冬夏328
2020-11-03 · TA获得超过4.2万个赞
知道大有可为答主
回答量:2.6万
采纳率:98%
帮助的人:433万
展开全部

中国古代数学有着辉煌的成就,今天大小吴将为大家介绍在中国数学史上非常著名的中国剩余定理
1 韩信点兵问题

这个问题首先要从一个叫做“韩信点兵”的故事说起。

秦末时期,楚汉相争,汉初三杰之一的韩信有一次带1500名兵士打仗,战死四五百人。为了统计剩余士兵的个数,韩信令士兵3人一排,多出2人;5人一排,多出4人;7人一排,多出6人。韩信据此很快说出人数:1049人。汉军本来就十分信服韩信大将军,经此之后就更加相信韩信是“天神下凡,神机妙算",于是士气大振,鼓声喧天,在接下来的战役中汉军步步紧逼,楚军乱作一团,大败而逃。韩信由此名扬天下,被后世誉为“兵仙“,“神帅”。

那么韩信是如何快速算出士兵人数的呢?韩信点兵问题可以用现代数学语言描述如下:若士兵人数是,则有除以3余2,除以5余4,除以7余6.

我们也可以用同余式来表示这个问题:

我们发现,若将,则可以同时被3、5、7整除,即

所以一定是3、5、7的最小公倍数的整数倍,由于3、5、7两两互素,则

所以



其中是正整数,当时

这样,韩信就计算出了剩余士兵的人数。

2 孙子算经与物不知数问题

实际上,这类问题就是在求解初等数论中的同余方程组。在数学史上韩信点兵问题也被称为物不知数问题,最早记载于一千多年前的《孙子算经》中:


今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
转化为现代数学语言,即解整数满足的同余式

这个问题和上文所说的韩信点兵问题类似,但是,它不具备上一个问题那么好的性质,因为无论使加上或减去一个数,都无法同时被3、5、7整除。那么,这个问题该如何解决呢?

宋朝数学家秦九韶于1247年《数书九章》卷一、二《大衍类》对“物不知数”问题做出了完整系统的解答。明朝数学家程大位将解法编成易于上口的《孙子歌诀》:


三人同行七十稀,五树梅花廿一支(二十一),七子团圆正半月,除百零五使得知。
这首诗的意思是:将除以3得到的余数乘以70,将除以5得到的余数乘以21,将除以7得到的余数乘以15,全部加起来后除以105得到的余数就是答案。

根据这个算法,可得:

因此物不知数问题的最小正整数解即为,事实上,23确实满足除以3余2,除以5余3,除以7余2,这个问题的通解为

其中是自然数。

3 中国剩余定理

对于这个问题,如果是一般情况,该如何处理呢?例如,有同余式:

我们把这个问题分解成三个同余式方程组

那么初始问题就有最小正整数解

因此只要能找到满足条件的即可。以为例,由同余式可得,

因此

所以存在使得

因此

其中的存在性可以证明,因为有如下定理:


若,则必然存在使得
对于这个定理的证明,可以考虑集合中的最小正整数,只要证明这个最小正整数就是1即可。

考虑其中最小的正整数,,只需证明且,由于互素,所以只能为1.

这件事可以用反证法证明:若不能整除,则必有

因此

因此余数也可以表示成一个整数乘以加上另一个整数乘以的形式,又因为是小于的,这就和最开始的假设是最小的正整数相矛盾了,因此必有

因此存在性得证。

事实上这样的不仅存在,而且也比较好寻找,其中70就是既能被5、7同时整除又能除以3余1的最小正整数,所以,同理可得,,因此这类问题就有了通解:

原来上面的古诗中出现的70、21、15这三个数是这么来的!

一般来讲,给定个不同的素数,则同余方程组

一定是有解的,求解这个问题只需构造基础解系:

因此有

因为都是素数,因此的存在性是显然的。

求解上述问题的过程与方法就称为“中国剩余定理”,又称为“孙子定理”。

中国剩余定理的传播最早在1852年由英国来华传教士伟烈亚力将《孙子算经》中“物不知数”问题的解法传至欧洲。1874年,英国数学家马西森指出此法符合1801年由高斯得出的关于同余式解法的一般性定理,因而西方称之为“中国剩余定理”,成为了初等数论中非常重要的一个定理。
帐号已注销
2020-11-03 · TA获得超过3万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:529万
展开全部
我国古代的重要数学著作《孙子算经》中有一问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”答曰:“二十三。”这段话译成白话是:“有一堆东西不知有多少个,如果三个三个数,剩二个,如果五个五个数,剩三个,如果七个七个数剩二个。问这堆东西有多少?答案是二十三个。”这个问题的解决,叫“孙子定理”,国外称为“中国剩余定理”。

这个问题的解法明朝程大位写成一首诗是:“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。”这首诗里隐含着70、21、15、105这4个数,只要牢记这4个数,解答此题便轻而易举了。在《孙子算经》中详细介绍了这种奇妙算法:凡是每3个一数最后余1的,就取1个70,最后余2的,便取2个70;每5个一数最后余1的,就取1个21,余2的,就取2个21;每7个一数最后余1的,就取1个15,余2的取2个15。把这些数加起来,如果得数比105大,减去105,所得的两组数便是众多答案中最小的一个和第二最小的。比如,上题是取2个70,取3个21,取2个15。由于2×70+3×21+2×15=233,比105大,减去105,再减105,得23。只此寥寥几步,便解了此题,可谓神奇。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式