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 相关文章推荐
Python3读取zip文件信息的方法
May 22 Python
Python中对象迭代与反迭代的技巧总结
Sep 17 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
在Mac上删除自己安装的Python方法
Oct 29 Python
Python设计模式之代理模式实例详解
Jan 19 Python
人工神经网络算法知识点总结
Jun 11 Python
网易2016研发工程师编程题 奖学金(python)
Jun 19 Python
python 实现目录复制的三种小结
Dec 04 Python
python 实现简单的FTP程序
Dec 27 Python
浅谈django channels 路由误导
May 28 Python
简单了解Python字典copy与赋值的区别
Sep 16 Python
python字符串常规操作大全
May 02 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中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
PHP 中的批处理的实现
2007/06/14 PHP
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
定义select的边框颜色
2008/04/28 Javascript
javascript 禁止复制网页
2009/06/11 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python网络编程示例(客户端与服务端)
2014/04/24 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
python使用udp实现聊天器功能
2018/12/10 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
Python提取频域特征知识点浅析
2019/03/04 Python
Python字符串的常见操作实例小结
2019/04/08 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
java代码实现空间切割
2022/01/18 Java/Android
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技