证明:gcd(m,n) = gcd(n,m mod n).
证明如下:设m和n的最大公约数为k,即gcd(m,n) = k,则有m = i*k,n = j*k;再设a = m / n = i / j, b = m mod n,则b = m - a * n =
i*k-a *j*k = (i-a*j)*k.因(i-a*j) = i mod j,而 i 和 j 互质,故(i-a*j)和 j 互质,从而 n 和 b 的最大公约数为 k 。
当递归出现 gcd(w,0)中的w即为最大公约数k,其原因是在上一次迭代里gcd(u,w)里u mod w值为0,说明u能被w整除。
综上所述,gcd(m,n) = gcd(n,m mod n).