扩展欧几里得的三个定理:
   定理一:如果d = gcd(a, b),则必能找到正的或负的整数k和l,使d = a*x+ b*y。   定理二:若gcd(a, b) = 1,则方程ax ≡ c (mod b)在[0, b-1]上有唯一解。   定理三:若gcd(a, b) = d,则方程ax ≡ c (mod b)在[0, b/d - 1]上有唯一解。      证明:上述同余方程等价于ax + by = c,如果有解,两边同除以d,就有a/d * x + b/d * y = c/d,即a/d * x ≡ c/d (mod b/d),显然gcd(a/d, b/d) = 1,所以由定理二知道x在[0, b/d - 1]上有唯一解。所以ax + by = c的x在[0, b/d - 1]上有唯一解,即ax ≡ c (mod b)在[0, b/d - 1]上有唯一解。      如果得到ax ≡ c (mod b)的某一特解X,那么令r = b/gcd(a, b),可知x在[0, r-1]上有唯一解,所以用x = (X % r + r) % r就可以求出最小非负整数解x了!(X % r可能是负值,此时保持在[-(r-1), 0]内,正值则保持在[0, r-1]内。加上r就保持在[1, 2r - 1]内,所以再模一下r就在[0, r-1]内了)。

扩展欧几里得的几个定理以及证明相关推荐

  1. 欧几里得、扩展欧几里得和中国剩余定理

    欧几里得算法.扩展欧几里得算法和中国剩余定理 欧几里得算法 求两个数a, b的最大公约数 g c d ( a , b ) gcd(a, b) gcd(a,b) 根据 g c d ( a , b ) = ...

  2. 扩展欧几里得 POJ 1061

    感觉这道题目的数据好水啊...我的代码我都觉得姿势特别奇怪...竟然还过了... 好吧,原来不是姿势奇怪,而是逆元需要用的时候是余数也需要的时候,这里的余数是不需要的,所以就AC了 就说一下碰到的问题 ...

  3. 求逆元(线性求逆元)及其扩展欧几里得

    线性求逆元模板: int inv[maxn]; void initInverse(){inv[1] = 1;for(int i = 2; i <= maxn; i++)inv[i] = (p - ...

  4. poj-青蛙的约会(扩展欧几里得)nyoj-小柯的约会

    由题意可列出方程 x + m * s - (y + n * s) = k * l; 化简得   (n-m)*s + k*l = x - y 化简得   (n-m)*s = x - y (mod l); ...

  5. [模板]欧几里得算法/扩展欧几里得

    最大公因数(欧几里得算法) $gcd(a,b)=gcd(b\%a,a)$(不一定需要a<b) $gcd(0,b)=b$ 1 inline int gcd(int a,int b){ 2 retu ...

  6. “景驰科技杯”2018年华南理工大学程序设计竞赛 H-对称与反对称(扩展欧几里得求逆元)

    题目链接 题目描述: 给出一个N*N的方阵A.构造方阵B,C: 使得A = B + C.其中 B为对称矩阵,C为反对称矩阵. 对于方阵S中的任意元素,若(S)ij = (S)ji,则称S为对称矩阵 对 ...

  7. Strange Optimization(扩展欧几里得)

    Strange Optimization Accepted : 67   Submit : 289 Time Limit : 1000 MS   Memory Limit : 65536 KB Str ...

  8. CodeForces - 724C Ray Tracing(扩展欧几里得解方程)

    题目链接:点击查看 题目大意:在 n∗mn*mn∗m 的矩阵中,从点 (0,0)(0,0)(0,0) 发射一个小球,以四十五度的方向出发,速度是 2\sqrt{2}2​,当碰到壁时,会进行反射:当碰到 ...

  9. 牛客多校3 - Fraction Construction Problem(扩展欧几里得)

    题目链接:点击查看 题目大意:给出 a 和 b ,求解满足条件的 c,d,e,f ,使得: d < b f < b c,e 均为小于等于 4e12 的正整数 题目分析:分情况讨论一下,首先 ...

最新文章

  1. 把握数据,驱动未来 | 清华大学大数据研究中心2020年RONG奖学金答辩会成功举办...
  2. conda 命令和创建tensorflow环境
  3. 算法:ACM二分图匹配 HDU2063
  4. VC++连接Mysql
  5. php多线程安装pthreads步骤详解
  6. rest framework错误笔记——身份验证和权限
  7. 【C语言简单说】五:常用运算符
  8. 冈萨雷斯《数字图像处理》读书笔记(九)——形态学图像处理
  9. 如何开机进入grub界面_如何进入http://192.168.1.1的设置界面 ?
  10. php算法求出一个数可以被分解成多少个_面试时写不出排序算法?看这篇就够了(下)...
  11. DotText源码阅读(3)-框架配置体系和反序列化
  12. Pandas库基础知识(一)
  13. 电力拖动系统课程问题汇总(答案)
  14. ov5640摄像头使用心得
  15. python lamba表达式
  16. Aliyun 学习笔记(二)阿里云物联网平台介绍
  17. bat打开网页10秒后关闭
  18. [oeasy]python0072_修改字体前景颜色_foreground_color_font
  19. 兽医提醒:狗狗生病的9个征兆,建议铲屎官收藏,以备不时之需!
  20. 我来说说这几天经历的南宁传销!慢慢更!

热门文章

  1. Ajax(跨域请求)
  2. 大数据概述:传统数据与大数据的区别
  3. Altium Designer简介及使用流程
  4. STM32 基础系列教程 16 - I2S(模拟)
  5. 配置EF Core的DbContext
  6. 在ThinkPad W500 A98上升级Windows 7以及安装硬件驱动和相关程序
  7. Flutter开发 - 对于富文本展示的方法封装
  8. 3年汽车软件测试工程师的经验总结
  9. QTreeWidgetItem设置复选框的禁用状态
  10. Inventor冲压加强筋_Inventor教程之创建加强筋