欧几里得算法(代码及证明过程)
一、基础知识
欧几里得算法的原理是 GCD递归定理
GCD递归定理:
对任意 非负整数 a 和 任意 整数 b,
gcd(a,b) = gcd(b, a mod b)
为了证明这个定理,我们首先需要知道一下几个有关 gcd
的基本知识跟相关等式跟推论
1.1 基本知识:
-
公约数
定义:如果
d|a
(d 整除 a)且d|b
,那么 d 是 a 与 b 的 公约数。性质:如果
d|a
且d|b
,那么d|(ax + by); x,y ∈ Z(任意整数)
-
最大公约数
定义:两个非零整数 a 和 b 的公约数里最大的就是 最大公约数。