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读取浮点数和读取文本文件示例
May 06 Python
python协程用法实例分析
Jun 04 Python
Python中set与frozenset方法和区别详解
May 23 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
Python3.5面向对象编程图文与实例详解
Apr 24 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
python列表删除和多重循环退出原理详解
Mar 26 Python
pandas之分组groupby()的使用整理与总结
Jun 18 Python
python中用ctypes模拟点击的实例讲解
Nov 26 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
用PHP+MySql编写聊天室
2006/10/09 PHP
再次研究下cache_lite
2007/02/14 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
PHP CURL使用详解
2019/03/21 PHP
围观tangram js库
2010/12/28 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
python实现网页链接提取的方法分享
2014/02/25 Python
Python多线程实例教程
2014/09/06 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
详解numpy.ndarray.reshape()函数的参数问题
2020/10/13 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
综治宣传月活动总结
2014/04/28 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android
php png失真的原因及解决办法
2021/11/17 PHP