The Greatest Common Divisor
最大公约数(the Greatest Common Divisir, GCD) 是指可以整除几个数字的最大的数。
推论
推论一:GCD(A, B) = GCD(A, A - B)
,假设 A > B
-
证明
C
可以被GCD(A, B)
整除- 令
A - B = C
- 可以找到整数
X
,使得X * GCD(A, B) = A
- 可以找到整数
Y
,使得Y * GCD(A, B) = B
X * GCD(A, B) - Y * GCD(A, B) = C
=>(X - Y) * GCD(A, B) = C
,所以C
可以被GCD(A, B)
整除
- 令
-
证明
A
可以被GCD(B, C)
整除B + C = A
- 可以找到整数
M
,使得M * GCD(B, C) = B
- 可以找到整数
N
,使得N * GCD(B, C) = C
M * GCD(B, C) + N * GCD(B, C) = A
=>(M + N) * GCD(B, C) = A
,所以A
可以被GCD(B, C)
整除
-
证明
GCD(A, B) = GCD(A, A - B)
B
可以被GCD(B, C)
整除A
可以被GCD(B, C)
整除- 因此
GCD(B, C)
也是A
和B
的公约数,且GCD(B, C) <= GCD(A, B)
(因为GCD(A, B)
是A
和B
的最大公约数)
同理
B
可以被GCD(A, B)
整除C
可以被GCD(A, B)
整除- 因此
GCD(A, B)
也是B
和C
的公约数,且GCD(A, B) <= GCD(B, C)
(因为GCD(B, C)
是B
和C
的最大公约数)
因此,
GCD(A, B) = GCD(B, C)
,也就是GCD(A, B) = GCD(A, A - B)
。
推论二:GCD(A, B) = GCD(B, R)
,假设 A > B
且 A = B * Q + R
由推论一 GCD(A, B) = GCD(A - B, B)
,可以推出:
GCD(A, B) = GCD(A - B, B) = GCD(A - 2B, B) = GCD(A - Q * B, B)
而 A = B * Q + R
因此 A - Q * B = R
,所以 GCD(A, B) = GCD(B, R)