zoukankan      html  css  js  c++  java
  • 欧几里得算法的证明

    求证:欧几里得算法(也叫辗转相除法),即:

    gcd(a, b) = gcd(b, a mod b)

    证明:

    前提公式:

    (left . egin{array}{lcr} a = md \ b = nd \ m、n互质 end{array} ight} Leftrightarrow d是a和b的最大公约数)

    设 gcd(a, b) = (d_1),

    (Rightarrow left . egin{array}{lcr} a = md_1 \ b = nd_1 end{array} ight} 其中,m、n互质)

    (a = bq + r_1 Rightarrow r1 = a - bq = md_1 - nqd_1 = (m - nq)d_1)

    只要证明 n 与 m - nq 互质.

    下面用反证法来证明 n 与 m - nq 互质:
    首先,假设 n 与 (m - nq) 不互质
    不妨设 (gcd(n, m - nq) = d_2)(其中,(d_2) > 1)

    (Rightarrow left { egin{array}{lcr} n = xd_2 \ m - nq = yd_2 end{array} ight . 其中,x、y互质)

    然后可得:(m = (y + xq)d_2) (Rightarrow) m、n不互质,这与前面的条件矛盾,故假设不成立,所以 n 与 m-nq 互质,由前提公式得,(d_1)是 b 和 (r_1) 的最大公约数,又:(d_1) 是 a 和 b 的最大公约数,所以:

    gcd(a, b) = gcd(b, a mod b),命题得证。

  • 相关阅读:
    小白安装使用Redis
    Mysql的Sql语句优化
    maximo入门----用户使用提要
    时不时刷刷BOSS 看看技术需求
    2019.7.10整理
    docker使用入门
    docker之windows安装&centOS安装
    HashTable学习
    Hashmap学习
    红黑树学习
  • 原文地址:https://www.cnblogs.com/fanlumaster/p/13662133.html
Copyright © 2011-2022 走看看