摘要:
很多人都在用这种方法求最大公约数,但是知道为什么这样能求最大公约数的人就不多了。其实这是一个数论的定理:y = ax + b => gcd(x, y) = gcd(b, x) (a, b, x, y ∈ Z)只要证明了这个式子成立,只需要证明x、y的公约数和b、x的公约数相同即可,因为如果他们的约数都相同了,那么其中一定有一个是最大的。首先介绍一些简单的数学知识:y = ax(a, x, y ∈ Z),就说x能整除y,记作x|yx|y, x|z => x|ax + bz(这个定理很简单就不做证明了)算法的证明如下设d|x, d|yd|x, d|y => d|y-ax 即 d| 阅读全文