辗转相除法证明

假设:

a = b * k + r

求证:

gcd(a, b) = gcd(b, r)

证明:

设c = gcd(a, b), d = gcd(b, r)
c | a, 表示能够整除a

1.证出c <= d
因为c | a, c | b, r = a - b * k
所以c | r
既然 c 能够整除 b和r,而(b, r)的最大公约数为d
那么 c<=d

2.证出d <= c
因为a = b * k + r,d | b, d | r
所以d | a
既然 d 能够整除 a和b,而a, b的最大公约数为c
那么 d <= c

综上,d=c,即gcd(a, b) = gcd(b, a % b)

posted @ 2018-07-26 21:45  乌冬味  阅读(388)  评论(0编辑  收藏  举报