中国剩余定理

中国剩余定理这样描述,给出以下一元线性同余方程组

给出你n个ai和mi,求出符合题意的X值,一般输出最小解。

ti 要用扩展欧几里得算法e_gcd()计算。

证明参照:点击打开链接

看个例子

一元线性同余方程组问题最早可见于中国南北朝时期(公元5世纪)的数学著作《 孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下:
有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。《 孙子算经》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。
宋朝数学家 秦九韶于1247年《 数书九章》卷一、二《大衍类》对“物不知数”问题做出了完整系统的解答。明朝数学家 程大位将解法编成易于上口的《孙子歌诀》:
三人同行七十稀,五树梅花廿一支,七子团圆正半月,除百零五使得知
这个歌诀给出了模数为3、5、7时候的同余方程的秦九韶解法。意思是:将除以3得到的余数乘以70,将除以5得到的余数乘以21,将除以7得到的余数乘以15,全部加起来后减去105(或者105的倍数),得到的余数就是答案。比如说在以上的物不知数问题里面,按歌诀求出的结果就是23。

例题中三个模数 m1=3,m2=5,m3=7;

余数a1=2,a2=3,a3=2;

M=105,M1=35 , M2=21,M3=15;

t1=2,t2=1,t3=1;

70=t1*M1,21=t2*M2,15=t3*M3

X =( a1 * t1 * M1 + a2 * t2 * M2 + a3 * t3 * M3)%M=( 2 * 2 * 35 + 3 * 1 * 21 + 2 * 2 * 15)%105=23

代码实现

//n个mi互质
ll m[101];ll a[101];//m[]存放互质的数,a[]存放余数
void e_gcd(ll a,ll b,ll &x, ll &y){//计算逆元 if(b==0){x=1;y=0;return;}e_gcd(b,a%b,x,y);ll temp=x;x=y;y=temp-a/b*y;
}
ll CRT(){ll M=1;for(int i=0;i<n;i++) M*=m[i];ll ret=0;for(int i=0;i<n;i++){ll x,y;ll tm=M/m[i];//计算Mie_gcd(tm,m[i],x,y);//计算逆元x ret=(ret+x*a[i]*tm)%M;//计算结果值 }return (ret+M)%M;
}

中国剩余数定理是适用于n个mi两两互质的情况的,还有不互质的呢,待续。。。。。。

孙子定理(中国剩余定理)相关推荐

  1. 信奥中的数学:孙子定理 中国剩余定理

    孙子定理 中国剩余定理 孙子定理 中国剩余定理_Dreamer Thinker Doer-CSDN博客 中国剩余问题(简介+详解) 中国剩余问题(简介+详解)_dreamzuora的博客-CSDN博客 ...

  2. 孙子定理 中国剩余定理

    孙子定理 摘自:百度百科 目录 定义 解释 解法 数学公式 中国剩余定理 案例 展开 编辑本段 定义 中国古代求解一次同余式组(见同余)的方法.是数论中一个重要定理.又称中国剩余定理. 内容 编辑本段 ...

  3. BZOJ-1951-古代猪文-SDOI2010-费马小定理+欧拉函数+lucas定理+中国剩余定理

    描述 =>G∑(ni),i|nmodP =>G^{\sum {{n\choose i}\text{,i|n}}} modP 分析 k=∑Cin,i|n(modP) k=\sum {C_n^ ...

  4. BZOJ 3782 上学路线 ——动态规划 Lucas定理 中国剩余定理

    我们枚举第一个经过的坏点,然后DP即可. 状态转移方程不是难点,难点在于组合数的处理. 将狼踩尽的博客中有很详细的证明过程,但是我只记住了结论 $n=a_1 * p^k+a_2*p^k-1...$ $ ...

  5. 从孙子算经到中国剩余定理

    中国剩余定理中间涉及一个重要观念:互质: 首先来看<孙子算经>卷下第二十六问:今有物,不知其数.三.三数之,剩二:五.五数之,剩三:七.七数之,剩二.问物几何? 转换为数学语言即是(理解其 ...

  6. python中国剩余定理公式_《孙子算经》之物不知数题:中国剩余定理

    1.<孙子算经>之"物不知数"题 今有物不知其数,三三数之剩二,五五数之剩七,七七数之剩二,问物几何? 2.中国剩余定理 定义: 设 a,b,m 都是整数.  如果 m ...

  7. 中国剩余定理matlab程序,中国剩余定理即孙子定理的五种解法

    中国剩余定理即孙子定理的五种解法 -- 学习初等数论心得笔记 2013-10-04 博文2015-12修改 "中国剩余定理"是公元5-6世纪.我国南北朝时期的一部著名算术著作< ...

  8. 数论 —— 线性同余方程组与中国剩余定理

    [线性同余方程组] 由若干个线性同余方程构成的线性方程组. 例如: 其解法最早由我国<孙子算经>给出,因此解法称为"孙子定理",又叫"中国剩余定理" ...

  9. poj 1006 java_POJ 1006 Java:中国剩余定理

    题目描述: 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏 ...

  10. 密码学基础算法(二)中国剩余定理

    随便谷歌了一个图片做首图 原图地址: http://www.siwapu.com/etagid41968b0/ 密码学基础系列: (一) 基于整数的欧几里得算法和扩展欧几里得算法 (二) 中国剩余定理 ...

最新文章

  1. Thrift RPC 系列教程(4)——源码目录结构组织
  2. 第四章 遗传变异的分类
  3. Redhat中通过命令工具和配置文件设置TCP/IP参数的方法
  4. 《统计学》学习笔记之数据的收集
  5. 支付宝放出数字化经营新神器,可提升商家60%消费频次
  6. bash 抓捕异常_SHELL异常处理(转载)
  7. matlab怎么实现OFDM仿真,OFDMmatlab实现仿真源代码
  8. [LeetCode] Z字型变换
  9. 基于单片机的人体健康检测系统
  10. Android仿微信朋友圈10s视频编辑
  11. sqlite3的使用
  12. 离散数学·集合论【基本的集合恒等式】
  13. 记录下在线扩容服务器遇到的问题 NOCHANGE: partition 1 is size 419428319. it cannot be grown
  14. 西门子1200PLC程序远程上下载,远程在线调试原来是使用了巨控GRM530远程模块
  15. 20年代下的VR发展趋势
  16. 康旅江湖,谁在编写琅琊榜
  17. 5G的关键技术与所面临的挑战
  18. Chromium-Dev中一些英文缩写
  19. android开发和手游开发工具,developer盘点Android开发者必备十大开发工具
  20. 找工作再也不愁之面试技巧全覆盖-这样面试保证拿Offer

热门文章

  1. [黑群晖]DSM7.1 ds3617xs 志强e3 1265lv3 b85保姆级安装教程
  2. pe系统如何读取手机_pe装系统,详细教您怎么在PE系统中重装系统
  3. 甘肃地形图之陇右地形分析、DEM数据下载
  4. R语言double数据转成numeric类型
  5. oracle11导出导入dmp详解
  6. Java项目:基于Servlet+Mybatis+Layui的CRM客户关系管理系统
  7. lisp绘制法兰_lisp语言画键槽_用LISP语言自定义AutoCAD命令
  8. 单片机:看门狗程序简介
  9. Oracle中sign函数的简单用法
  10. 安卓app开发-03-项目的基本开发步骤