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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
python删除过期文件的方法
May 29 Python
python处理二进制数据的方法
Jun 03 Python
详解Python3中的Sequence type的使用
Aug 01 Python
Python批处理删除和重命名文件夹的实例
Jul 11 Python
python实现电子产品商店
Feb 26 Python
django框架防止XSS注入的方法分析
Jun 21 Python
Python argparse模块应用实例解析
Nov 15 Python
python怎么对数字进行过滤
Jul 05 Python
Python中Selenium模块的使用详解
Oct 09 Python
Python之Sklearn使用入门教程
Feb 19 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 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
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
Python eval函数原理及用法解析
2020/11/14 Python
python help函数实例用法
2020/12/06 Python
用python计算文件的MD5值
2020/12/23 Python
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
九年级政治教学反思
2014/02/06 职场文书
班主任新年寄语
2014/04/04 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
颐和园导游词400字
2015/01/30 职场文书
大学生自我评价范文
2015/03/03 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
Python+Tkinter打造签名设计工具
2022/04/01 Python