码迷,mamicode.com
首页 > 其他好文 > 详细

辗转相除法的证明

时间:2016-04-23 19:47:16      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

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

  假设:

求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整除。

辗转相除法的证明

标签:

原文地址:http://www.cnblogs.com/Ritchie/p/5425175.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!