快速求得 a和 b 的最大公约数

「更相减损法」和「欧几里得算法」

欧几里得算法

  int gcd(int a, int b) { // 欧几里得算法
        return b == 0 ? a : gcd(b, a % b);
    }

更相减损法

 int gcd(int a, int b) { // 更相减损法
        while (true) {
            if (a > b) a -= b;
            else if (a < b) b -= a;
            else return a;
        }
    }

上一篇:最大公约数、最小公倍数、辗转相除法的求解和证明


下一篇:leetcode-每日一题2022.2.10 最简分数