求两个数的最大公约数

最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c)。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。
这几种方法的具体运用可见百度,此处从百度中摘出两种。

辗转相除法(欧几里得算法)
求两个数的最大公约数_第1张图片
算法-最大公约数-辗转相除法.jpg
更相减损法
求两个数的最大公约数_第2张图片
算法-最大公约数-更相减损法.jpg
代码实现(使用欧几里得算法)
// 用欧几里得算法求两个数的最大公约数
const gys = (a, b) => {
   if (b === 0) {
      return a;
   } else {
      gys(b, a % b);
   }
};

你可能感兴趣的:(求两个数的最大公约数)