【C语言】求解最大公约数

最大公约数

最大公约数指两个或多个整数共有的约束的最大的一个。

求解方法(欧几里得算法)

欧几里得算法,别名辗转相除法,其实现原理如下
gcd(a, b) = gcd(b, a mod b)
条件:a mod b 不为0
当a mod b为0时,此时的b即为所求值。

C代码实现

void getGCD(int num1, int num2)
{
    int temp = 0;

    while((num1%num2) != 0)
    {
        temp = num1;
        num1 = num2;
        num2 = temp%num2;
    }

    printf("gcd is %d\n", num2);
}

你可能感兴趣的:(算法,C语言)