辗转相除法解析(数学层面)

作用

辗转相除法用于求得两个数之间的最小公约数,本文主要论证辗转相除法中的一个变换过程的数学逻辑合理性

前导声明

d = ( a , b ) d = (a,b) d=(a,b)表示 d d d是a、b的最大公约数
d ∣ a d \vert a da表示 d d d整除a,即 a   m o d   d = = 0 a \bmod d == 0 amodd==0
a = b ∗ k + r ⇒ r = a − b ∗ k a = b * k +r \Rightarrow r = a - b * k a=bk+rr=abk,其中,r即为a / b的余数,k即为a / b 的商

方法解析

方法1 ----夹逼法

d 0 = ( a , b ) d_0 = (a,b) d0=(a,b), d 1 = ( r , b ) d_1 = (r,b) d1=(r,b)
则有 d 0 = ( a , b ) ⟹ d 0 ∣ a ∧ d 0 ∣ b d_0 = (a,b) \Longrightarrow d_0 \vert a \land d_0 \vert b d0=(a,b)d0ad0b
此时,由于有 r = a − b ∗ k r = a - b * k r=abk ,易证 d 0 ∣ r d_0 \vert r d0r
因此, d 0 d_0 d0是r、b的公因子,即 d 0 ∣ ( b , r ) = d 1 ⟹ d 0 < = d 1 d_0 \vert (b,r) = d_1 \Longrightarrow d_0 <= d_1 d0(b,r)=d1d0<=d1
with the same reason,using a = b ∗ k + r a = b * k +r a=bk+r and d 1 = ( r , b ) d_1 = (r,b) d1=(r,b) , we can conclude that d 1 ∣ ( b , r ) = d 0 ⟹ d 1 < = d 0 d_1 \vert (b,r) = d_0 \Longrightarrow d_1 <= d_0 d1(b,r)=d0d1<=d0
totally,we can see that d 1 = = d 0 d_1 == d_0 d1==d0

方法2 ----反证法

使用方法1得出的结论 d 0 d_0 d0是r、b的公因子
用反证法假设 d 1 = ( b , r ) d_1 = (b,r) d1=(b,r),因此 d 1 > d 0 d_1>d_0 d1>d0,同上理可得 d 1 d_1 d1也是a和b的公约数,可是这与 d 0 = ( a , b ) d_0 = (a,b) d0=(a,b) 产生矛盾,故不存在 d 1 > d 0 d_1>d_0 d1>d0,使得 d 0 = ( a , b ) d_0 = (a,b) d0=(a,b) ,并且 d 1 = ( b , r ) d_1 = (b,r) d1=(b,r)。因此 d 0 d_0 d0既等于 g c d ( a , b ) gcd(a,b) gcd(a,b),又等于 g c d ( b , r ) gcd(b,r) gcd(b,r),故得证。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值