码迷,mamicode.com
首页 > 其他好文 > 详细

【数论】如何证明gcd/exgcd

时间:2019-10-03 19:41:45      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:size   style   font   最大公约数   exgcd   ora   bsp   通过   through   

我恨数论

 

咳咳,那么进入正题,如何证明gcd,也就是 gcd(a,b) = gcd(b,a%b)?

首先,设

p = a/b,c = a mod b

则a = p*b + c

m = gcd(a,b),n = gcd(b,c)

 

因为m = gcd(a,b),所以 a | m 且 b | m

因为 b | m

所以 b * p | m

因为a | m

所以a - b * p | m

因为 a = p*b + c

所以 c = a - p*b

所以 c | m

因为c | m,且b | m

所以m为 c,b的公约数

因为n为 c,b的最大公约数

所以m <= n

 

因为n = gcd(b,c)

所以 b | n , c | n

因为 b | n

所以 b * p | n

因为 c | n

所以 b * p + c | n

因为 a = b * p + c

所以a | n

因为a | n,且 b | n

则n为a,b的公约数

因为m为a,b的最大公约数

所以 n <= m

因为m <= n

所以m = n

所以gcd(a,b) = gcd(b,c)

所以gcd(a,b) = gcd(b,a%b)

 

整体思路是:

先设出一个关系,然后通过关系证明它们的另一个关系

从gcd(a,b)转换得到b,c是公约数关系,

从gcd(b,c)转换得到a,b是公约数关系,

分别得到它们的大小关系,最后求公共解集,得到两个gcd相等

然后把c带上去,得到我们要证的式子

【数论】如何证明gcd/exgcd

标签:size   style   font   最大公约数   exgcd   ora   bsp   通过   through   

原文地址:https://www.cnblogs.com/dudujerry/p/11620447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!