欧几里得算法证明

设a与b的公约数集合为A, b与a%b的公约数集合为B
要证明gcd(a,b) = gcd(b, a%b),
即证max(A) = max(B)

∀d ∈ A, 则有 d|a, d|b, 那么
∵ a%b = a - kb = k'd - k''d
∴ d|a%b
∴ d ∈ B

∀d ∈ B, 则有 d|b, d|a%b, 那么
∵ a%b = kd = a - k'b
∴ a = kd + k'b
∴ d|a
∴ d ∈ A

那么就有A=B
所以max(A) = max(B)
即gcd(a,b) = gcd(b, a%b)

你可能感兴趣的:(欧几里得算法证明)