程式語言 - GNU - C/C++ - GCD



參考資料:
https://hackmd.io/@sysprog/gcd-impl

int gcd(int a, int b)
{
    if(b == 0) {
        return a;
    }
    return gcd(b, a % b);
}

int gcd(int a, int b)
{
    while (1) {
        if (a > b) {
            a -= b;
        }
        else if (a < b) {
            b -= a;
        }
        else {
            return a;
        }
    }
}

int gcd(int a, int b)
{
    while (1) {
        a %= b;
        if (a == 0) {
            return b;
        }
        if (a == 1) {
            return 1;
        }

        b %= a;
        if (b == 0) {
            return a;
        }
        if (b == 1) {
            return 1;
        }
    }
}