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模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python实现两款计算器功能示例
Dec 19 Python
python绘制简单折线图代码示例
Dec 19 Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
在python中使用nohup命令说明
Apr 16 Python
Python获取百度热搜的完整代码
Apr 07 Python
Python多个MP4合成视频的实现方法
Jul 16 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 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实现文件上传二法
2006/10/09 PHP
PHP 高手之路(二)
2006/10/09 PHP
一个基于PDO的数据库操作类
2011/03/24 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
新闻内页-JS分页
2006/06/07 Javascript
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
javascript实现简易计算器
2017/02/01 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
React 组件间的通信示例
2018/06/14 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
js实现动态增加文件域表单功能
2018/10/22 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
Python素数检测实例分析
2015/06/15 Python
Django实现组合搜索的方法示例
2018/01/23 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
Python单元测试与测试用例简析
2019/11/09 Python
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
专业毕业生个性的自我评价
2013/10/03 职场文书
教学质量评估实施方案
2014/03/17 职场文书
签字仪式主持词
2015/07/03 职场文书
vue动态绑定style样式
2022/04/20 Vue.js