中国剩余定理算法详解(余数互质和不互质)

参考:
中国剩余定理:
http://itdocument.com/7701006441/
http://www.cppblog.com/qywyh/archive/2007/08/27/30943.aspx
扩展欧几里得算法:
http://blog.csdn.net/dafang_xu/article/details/50186653
中国剩余定理介绍
在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3 余2),
五五数之剩三(除以5 余3),七七数之剩二(除以7 余2),问物几何?”这个问题称为“孙
子问题”,该问题的一般解法国际上称为“中国剩余定理”。具体解法分三步:

找出三个数:从3 和5 的公倍数中找出被7 除余1 的最小数15,从3 和7 的公倍数中找出被
5 除余1 的最小数21,最后从5 和7 的公倍数中找出除3 余1 的最小数70。
用15 乘以2(2 为最终结果除以7 的余数),用21 乘以3(3 为最终结果除以5 的余数),同
理,用70 乘以2(2 为最终结果除以3 的余数),然后把三个乘积相加(15*2+21*3+70*2)得
到和233。
用 233 除以 3,5,7 三个数的最小公倍数 105,得到余数 23,即 233%105=23。这个余数 23
就是符合条件的最小数。
就这么简单。我们在感叹神奇的同时不禁想知道古人是如何想到这个方法的,有什么基
本的数学依据吗?

中国剩余定理分析
我们将“孙子问题”拆分成几个简单的小问题,从零开始,试图揣测古人是如何推导出
这个解法的。

首先,我们假设n1 是满足除以3 余2 的一个数,比如2,5,8 等等,也就是满足3*k+2
(k>=0)的一个任意数。同样,我们假设 n2 是满足除以 5 余 3 的一个数,n3 是满足除以 7
余2 的一个数。

有了前面的假设,我们先从n1这个角度出发,已知n1满足除以3余2,能不能使得 n1+n2
的和仍然满足除以3 余2?进而使得n1+n2+n3 的和仍然满足除以3

  • 19
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值