数论如何证明gcd/exgcd

Posted dudujerry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数论如何证明gcd/exgcd相关的知识,希望对你有一定的参考价值。

我恨数论

 

咳咳,那么进入正题,如何证明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的主要内容,如果未能解决你的问题,请参考以下文章

数论证明链接整理

#关于数论某些东西的证明.

[数论] 质数

[数论] 逆元(附扩欧证明)

常用初等数论小知识

[数论系列] 素数篇