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 相关文章推荐
Python深入学习之上下文管理器
Aug 31 Python
详解Django缓存处理中Vary头部的使用
Jul 24 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
Python的条件表达式和lambda表达式实例
Jan 31 Python
详解Python爬取并下载《电影天堂》3千多部电影
Apr 26 Python
django2笔记之路由path语法的实现
Jul 17 Python
python如何实现不可变字典inmutabledict
Jan 08 Python
python3 sleep 延时秒 毫秒实例
May 04 Python
解决pycharm安装第三方库失败的问题
May 09 Python
python之随机数函数的实现示例
Dec 30 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
php实现的简单日志写入函数
2015/03/31 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
javascript中的array数组使用技巧
2010/01/31 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
python 获取字符串MD5值方法
2018/05/29 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
python 为什么说eval要慎用
2019/03/26 Python
pandas删除指定行详解
2019/04/04 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
大学生自我鉴定
2013/12/08 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
政治学求职信
2014/06/03 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
生产操作工岗位职责
2014/09/16 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书