一是什么
它是已知最古老的算法,可追溯到公元前300年。它首次出现于欧几里得的“几何原本”中,而在中国则可以追溯至东汉出现的“九章算术”。用现代数学的术语来说,就是欧几里得算法采用的方法是重复下面的等式,直到m mod n等于0。
gcd(m,n)= gcd(n,m mod n)(m mode n表示m除以n的余数)。当两个数字滚动相除时,余数为0.除数就是两个数的最大公约数。可以看下面的表格,最后除数为6时,余数被整除,那么6就是123456和7890的最大公约数。
二证明
已知:整数a,b,并且a> b。
求:证明gcd(a,b)= gcd(b,a%b)(%取余)
解:令a%b = r,
∴a = k * b + r
∴r= ak * b
若d为一个与b的最大公约数,
∴d| a,d | b(d | 一个的意思是d整除一个)
∴d| K * B
∴a÷d - k * b÷d =整数 即(ak * b)÷d =整数
∵r= ak * b
∴ ř ÷d =整数 即d | [R
故由上面可得gcd(a,b)= gcd(b,a%b)