欧几里得定理:gcd(a,b)=gcd(b,a%b)\text{gcd}(a,b)=\text{gcd}(b,a\%b)gcd(a,b)=gcd(b,a%b)
证明如下:
设: g=gcd(a,b)g=\text{gcd}(a,b)g=gcd(a,b),a=k1×ga=k_1 \times ga=k1×g,b=k2×gb=k_2 \times gb=k2×g
其中 k1,k2k_1,k_2k1,k2 满足条件 gcd(k1,k2)=1\text{gcd}(k_1,k_2)=1gcd(k1,k2)=1
则问题转化为证明:
gcd(k2×g,(k1−t×k2)×g)=g\text{gcd}(k_2 \times g,(k_1-t \times k_2) \times g)=ggcd(k2×g,(k1−t×k2)×g)=g,其中 t=⌊k1/k2⌋t=\lfloor k1 / k2 \rfloort=⌊k1/k2⌋
g×gcd(k2,k1−t×k2)=gg \times \text{gcd}(k_2,k_1-t \times k_2)=gg×gcd(k2,k1−t×k2)=g
gcd(k2,k1−t×k2)=1\text{gcd}(k_2,k_1-t \times k_2)=1gcd(k2,k1−t×k2)=1
则问题转化为证明:
gcd(k2,k1−t×k2)=1\text{gcd}(k_2,k_1-t \times k_2)=1gcd(k2,k1−t×k2)=1
运用 我今天刚学的 反证法:
设 gcd(k2,k1−t×k2)=v\text{gcd}(k_2,k_1-t \times k_2)=vgcd(k2,k1−t×k2)=v,其中 v≠1v \neq 1v=1
设 k2=p1×vk_2=p_1 \times vk2=p1×v,(k1−t×k2)=p2×v(k_1-t \times k_2)=p_2 \times v(k1−t×k2)=p2×v
k1=p2×v+t×p1×vk_1=p_2 \times v + t \times p1 \times vk1=p2×v+t×p1×v
k1=v×(p2+t×p1)k_1=v \times (p_2+t \times p_1)k1=v×(p2+t×p1)
所以 k1k_1k1,k2k_2k2 有共同因子 vvv,与 gcd(k1,k2)=1\text{gcd}(k_1,k_2)=1gcd(k1,k2)=1 矛盾。
所以 gcd(k2,k1−t×k2)=1\text{gcd}(k_2,k_1-t \times k_2)=1gcd(k2,k1−t×k2)=1。
所以 g×gcd(k2,k1−t×k2)=gg \times \text{gcd}(k_2,k_1-t \times k_2)=gg×gcd(k2,k1−t×k2)=g
所以 gcd(k2×g,(k1−t×k2)×g)=g\text{gcd}(k_2 \times g,(k_1-t \times k_2) \times g)=ggcd(k2×g,(k1−t×k2)×g)=g
所以 gcd(a,b)=gcd(b,a%b)\text{gcd}(a,b)=\text{gcd}(b,a\%b)gcd(a,b)=gcd(b,a%b)
证毕。
欢迎在评论区找bug,我会尽快回复。