欧几里德算法(辗转相除法):
计算两个非负整数 p 和 q 的最大公约数: 若q 是 0, 则最大公约数为 p。 否则, 将 p 除以q 得到余数 r, p 和 q 的最大公约数即为 q 和r 的最大公约数。
int gcd(int p, int q)
{
if (q == 0) return p;
int r = p % q;
return gcd(q, r);
}
欧几里德算法(辗转相除法):
计算两个非负整数 p 和 q 的最大公约数: 若q 是 0, 则最大公约数为 p。 否则, 将 p 除以q 得到余数 r, p 和 q 的最大公约数即为 q 和r 的最大公约数。
int gcd(int p, int q)
{
if (q == 0) return p;
int r = p % q;
return gcd(q, r);
}