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的Scrapy框架编写web爬虫的简单示例
Apr 17 Python
讲解Python中fileno()方法的使用
May 24 Python
Python学习笔记之解析json的方法分析
Apr 21 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
Python AES加密实例解析
Jan 18 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
python实现整数的二进制循环移位
Mar 08 Python
ipad上运行python的方法步骤
Oct 12 Python
Python字符串格式化输出代码实例
Nov 22 Python
python dumps和loads区别详解
Feb 04 Python
Python如何实现邮件功能
May 27 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 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文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
php轻松实现文件上传功能
2016/03/03 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
Java的五个基础面试题
2016/02/26 面试题
中药专业大学生医药工作求职信
2013/10/25 职场文书
培训讲师邀请函
2014/01/10 职场文书
表彰大会策划方案
2014/05/13 职场文书
法人委托书范本
2014/09/15 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
防灾减灾标语
2014/10/07 职场文书
团队会宣传标语
2014/10/09 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
二手车转让协议书
2015/01/29 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
python中24小时制转换为12小时制的方法
2021/06/18 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python