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的主要内容,如果未能解决你的问题,请参考以下文章