两个数的最大公约数

1、遍历查找最大公约数

  int gcd(int m, int n)
{
    int min = m > n ? n : m;
    for (int i = min; i > 0; i--)
    {
        if (m%i == 0 && n%i == 0) {
            return i;
        }
    }
    return 1;
}

2、欧几里得算法(递归调用) 从顶至下

int gcd(int m, int n)
{
    if (m == 0){
        return n;
    }
    if (n == 0) {
        return m;
    }

    return gcd(n,m%n);
}

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