写在前面:本着弄懂每一个小知识点的学习原则,打算彻底理清一下辗转相除法。
1 什么是辗转相除法?
2 为什么辗转相除可以求解最大公约数?
可能我们会凭记忆使用这个简单的算法,但是如果我们多问自己一个为什么?思路就有点模糊了,可能会想:“是啊,为什么呢?难道又是玄学?”。下面就给出一系列疑问的证明:
首先我们给定两个数 并且约定
:
如果 ,则
如果 ,则设
根据辗转相除法,我们可以得出 疑问就在这里,等式为什么成立?我们拆分为两个子问题:
Q1: 是
的一个公约数,其中
。
因为:

所以:

由于 是正整数,所以
是
的一个公约数。
Q2: 如何证明 就是
,换就话说如何证明是“最大”公约数?
我们来重新审视一下条件:

要想证明 是
,也就是说证明
互质,即
。
由于 是正整数,不好直接证明,那么我们取特殊的当
时到底是否成立?即
。如果你对数论有点了解可能立马就知道
,又因为
所以得证;如果你不知道也没关系,我们可以证明,毕竟我们就是来搞懂一个个细节的。
因为:

所以:

在 互质的情况下,
不可能含有数值为
或
因子。 否则
。
所以结论 得证。 继续使用这个结论可以得出:

所以有:

然后一直迭代就可以啦!
如果里面有什么错误欢迎指出来,可以一起探讨。