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编写C/S网络程序实例教程
Aug 25 Python
Python过滤列表用法实例分析
Apr 29 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
PyQt5每天必学之拖放事件
Aug 27 Python
python实现二维插值的三维显示
Dec 17 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
python实现可变变量名方法详解
Jul 01 Python
Django发送邮件功能实例详解
Sep 02 Python
python实现猜数字游戏
Mar 25 Python
Python for循环搭配else常见问题解决
Feb 11 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 Python
conda安装tensorflow和conda常用命令小结
Feb 20 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
短波收音机简介
2021/03/01 无线电
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
Python中一般处理中文的几种方法
2019/03/06 Python
详解Python做一个名片管理系统
2019/03/14 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
给学校的建议书
2014/03/12 职场文书
防灾减灾活动总结
2014/08/30 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
初中优秀学生评语
2014/12/29 职场文书
高三毕业评语
2014/12/31 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
给学校的建议书400字
2015/09/14 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技