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 文件操作实现代码
Oct 07 Python
Python多进程编程技术实例分析
Sep 16 Python
Python3读取zip文件信息的方法
May 22 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
scrapy爬虫实例分享
Dec 28 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
PyQt5每天必学之弹出消息框
Apr 19 Python
django中SMTP发送邮件配置详解
Jul 19 Python
Docker部署Python爬虫项目的方法步骤
Jan 19 Python
python 牛顿法实现逻辑回归(Logistic Regression)
Oct 15 Python
Django用户认证系统如何实现自定义
Nov 12 Python
python基于tkinter制作m3u8视频下载工具
Apr 24 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 mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
js版本A*寻路算法
2006/12/22 Javascript
jQuery 操作XML入门
2008/12/25 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
python中__call__方法示例分析
2014/10/11 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
python编写实现抽奖器
2020/09/10 Python
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
马来西亚网上购物:Youbeli
2018/03/30 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
酷瑞网络科技面试题
2012/03/30 面试题
《只有一个地球》教学反思
2014/02/14 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
高考寄语大全
2014/04/08 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS