Python实现的中国剩余定理算法示例


Posted in Python onAugust 05, 2017

本文实例讲述了Python实现的中国剩余定理算法。分享给大家供大家参考,具体如下:

中国剩余定理(Chinese Remainder Theorem-CRT):又称孙子定理,是数论中的一个定理。即如果一个人知道了一个数n被多个整数相除得到的余数,当这些除数两两互质的情况下,这个人就可以唯一的确定被这些个整数乘积除n所得的余数。

维基百科上wiki:The Chinese remainder theorem is a theorem of number theory, which states that, if one knows the remainders of the division of an integer n by several integers, then one can determine uniquely the remainder of the division of n by the product of these integers, under the condition that the divisors are pairwise coprime.

有一数n,被2除余1,被3除余2,被5除余4,被6除余5,正好被7整除,求该数n.

分析:n被2除余1,说明概述最小为1,之后该条件一直满足,所以需要加上的数一定是2的倍数。被3除余2,即(1+2*i)%3=2,其中i为正整数。之后该条件一直满足,所以需要加上的数一定是3的倍数,又因为前一个条件的限制,所以是2和3的最小公倍数的整数倍。一次类推,知道找到被7整除的数。

n=1
while(n%3 != 2):
  n += 2
while(n%5 != 4):
  n += 6
while(n%6 != 5):
  n += 30
while(n%7 != 0):
  n += 30

最终结果为119。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python3如何解决字符编码问题详解
Apr 23 Python
python基础之入门必看操作
Jul 26 Python
Python实现购物车功能的方法分析
Nov 10 Python
单链表反转python实现代码示例
Feb 08 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
python执行CMD指令,并获取返回的方法
Dec 19 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
python多线程案例之多任务copy文件完整实例
Oct 29 Python
python 模拟登陆163邮箱
Dec 15 Python
Python中如何处理常见报错
Jan 18 Python
Python matplotlib绘制雷达图
Apr 13 Python
python爬虫_自动获取seebug的poc实例
Aug 05 #Python
python中的break、continue、exit()、pass全面解析
Aug 05 #Python
Python基于递归算法实现的走迷宫问题
Aug 04 #Python
Python实现的科学计算器功能示例
Aug 04 #Python
Python中用字符串调用函数或方法示例代码
Aug 04 #Python
Python编程实现的图片识别功能示例
Aug 03 #Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 #Python
You might like
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
python中split方法用法分析
2015/04/17 Python
python妙用之编码的转换详解
2017/04/21 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
Python中求对数方法总结
2020/03/10 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
没编程基础可以学python吗
2020/06/17 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
物业经理求职自我评价
2013/09/22 职场文书
追悼会上的答谢词
2014/01/10 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
聘任书范文大全
2015/09/21 职场文书
网络研修心得体会
2016/01/08 职场文书
解除租赁合同协议书
2016/03/21 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
pandas中pd.groupby()的用法详解
2022/06/16 Python