zoukankan      html  css  js  c++  java
  • 关于扩展欧几里得定理及其证明

    扩展欧几里得算法内容:

    $$forall a,bin N,b eq 0,gcd(a,b)=gcd(b,a\%b)$$

    扩展欧几里得定理1:

    设$a$和$b$不全为$0$,则存在整数$x$和$y$,使得$ax+by=gcd(a,b)$

    定理1的证明:

    $forall a,bin N,b eq 0,gcd(a,b)=gcd(b,a\%b)$ 

    设$a$和$b$不全为$0$,则存在任意整数$x$和$y$,使得$ax+by=gcd(a,b)$

    当$b=0$时,$x=1,y=0$

    当$b eq 0$时,假设存在一对整数$x',y'$,满足$bx'+(a\%b)y'=gcd(b,a\%b)=gcd(a,b)$

      那么,$bx'+(a-lfloor{frac{a}{b}} floor imes b)y'=gcd(a,b)$

      所以,$ay'+b(x'-lfloor{frac{a}{b}} floor imes y')=gcd(a,b)$

      所以,令$x=y',y=x'-lfloor{frac{a}{b}} floor y'$,就得到了$ax+by=gcd(a,b)$

    扩展欧几里得定理2:

     对于不定方程$ax+by=c$当且仅当$gcd(a,b)mid c$时,方程有整数解。

    定理2的证明:

    当$gcd(a,b)mid c$时,设$g=gcd(a,b),a'=frac{a}{g},b'=frac{b}{g},c'=frac{c}{g}$。

    我们可以用扩展欧几里得算法求出不定方程$a'x'+b'y'=1$的整数解。

    那么$a'c'x'+b'c'y'=c'$

    $a'gc'x'+b'gc'y'=c'g$

    即$ac'x'+bc'y'=c$,所以,$x_0=c'x',y_0=c'y'$是方程的一组解。

    因为不定方程$a'x+b'y=c'Leftrightarrow$同余方程$a'xequiv c'(mod b')$,所以$x$是模$b'$同余的一个剩余类,所以该不定方程的通解为$x=x_0+b't,y=y_0-a't(tin Z)$。

    当$gcd(a,b) mid c$时,就没有上述求解过程,所以方程无解.

  • 相关阅读:
    多项式计算
    递归算法
    递推算法
    穷举算法
    两个数用二进制表示,有多少位不同
    一个整数的二进制数中1的个数
    将十进制数转化为二进制数
    (调用方法)判断一个整数是否为素数两种方法,年份是否是闰年,交换两个数值
    快速排序算法
    用户登录系统
  • 原文地址:https://www.cnblogs.com/JDFZ-ZZ/p/12078700.html
Copyright © 2011-2022 走看看