zoukankan      html  css  js  c++  java
  • 辗转相除法的证明

    描述:关于辗转相除法的具体实现在这里就不具体说明了,本文要记录的是辗转相除法应用于求最大公约数的算法证明过程。

      假设:

    求m和n的最大公约数。
    a,b分别是m除以n的商和余数,即m=na+b。
    gcd(m,n)表示m和n的最大公约数。
      求证:gcd(m,n)=gcd(n,b)

      证明:

        设c=gcd(m,n), d=gcd(n,b)

      1. ∵c为m和n的公约数

        ∴m能被c整除,n也能被c整除

        ∴na也能被c整除 参照推论一

        ∴m-na也能被c整除(即b能c整除) 参照推论二

        ∴c为n和b的公约数

        ∵d为n和b的最大公约数

        ∴c≤d

      2. 同理可证 d≤c

        ∵d为n和b的公约数

        ∴n能被d整除,b也能被d整除

        ∴na也能被d整除 参照推论一

        ∴na+b也能被d整除(即m能d整除) 参照推论二

        ∴d为m和n的公约数

        ∵c为m和n的最大公约数

        ∴d≤c

      综上所述:c=d,即gcd(m,n)=gcd(n,r)

    推论一:若a能被b整除(a=tb),则如果k为正整数,则ka也能被b整除(ka=ktb)。

    推论二:若a能被c整除,b也能被c整除,则(a±b)也能被c整除。

  • 相关阅读:
    C#托盘图标
    线程相关整理
    Quartz.NET 快速入门
    (转)IE内存泄露,iframe内存泄露造成的原因和解决方案
    美化console.log的文本(转载)
    mongoDB学习资料整理
    EF7学习资料整理
    Oracle常用
    Node.js学习资料整理
    【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器(转)
  • 原文地址:https://www.cnblogs.com/Ritchie/p/5425175.html
Copyright © 2011-2022 走看看