gcd

Posted yanxiujie

tags:

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

内容:

(gcd(a,b)=gcd(b,a\% b))

用途:

这不废话嘛,当然是用来求最大公约数啊

证明:(这还是四月份的时候cdx巨佬给我讲的qwq)

(d=gcd(a.b))
则有(a=md,b=nd), (Rightarrow) (a-b=(m-n)d)
(ecause) (m)(n)互质
( herefore) ((m-n))(n)互质
( herefore) (gcd((m-n)d,nd)=d)(gcd(a-b,b)=d)
( herefore) (gcd(a,b)=gcd(a-b,b))
( herefore) (gcd(a,b)=gcd(a\%b,b))

关于为什么(m-n)(n)互质:
证明:假设(m-n)不与(n)互质,有(gcd(m-n,n)=p,p eq 1)
(m-n=xp,n=yp)
( herefore) (m=(x+y)p)
( herefore) (a=md=(x+y)pd,b=nd=ypd)
( herefore) (a,b)有公约数(pd)
$ecause $ (gcd(a,b)=d)
( herefore) (p=1)与假设矛盾
(m-n)(n)互质

Code:

int gcd(int x, int y) {
    return y == 0 ? x : gcd(y, x % y);
}

谢谢收看,祝身体健康!

以上是关于gcd的主要内容,如果未能解决你的问题,请参考以下文章

代码笔记iOS-GCD用法

我写的由 GCD 代码支持的读写器锁导致并行测试中的死锁

swiftBlockOperation和GCD实用代码块

iOS多线程GCD详解

GCD的常用代码块

GCD