求两个整数的 GCD/LCM

最大公约数[Greatest Common Divisor(GCD)]:指两个或多个整数共有约数中最大的一个,通常记为 (a, b)
最小公倍数[Least Common Multiple(LCM)]:两个或多个整数的公倍数里最小的那一个叫做它们的最小公倍数 [a, b]
 
求最大公约数常见方法有:质因数分解法、短除法、辗转相除法、更相减损法、stain算法
求最小公倍数,可由最大公约数得到,gcd(a, b) * lcm(a, b) = ab
 
在坐标里,将点(0, 0)和(a, b)连起来,通过整数坐标的点的数目(除了(0, 0)一点之外)就是gcd(a, b)
 
重要性质:gcd(a,b)=gcd(b,a) (交换律)
gcd(-a,b)=gcd(a,b)
gcd(a,a)=|a|
gcd(a,0)=|a|
gcd(a,1)=1
gcd(a,b)=gcd(b, a mod b)
gcd(a,b)=gcd(b, a-b)
 
待续……

posted on 2015-06-01 21:02  Excavator  阅读(264)  评论(0编辑  收藏  举报

导航