循环求解:
int gcd(int a, int b)
{
int temp;
if (a < b) { //a<b时,交换a和b
temp = a;
a = b;
b = temp;
}
while (b > 0) {
temp = a % b;
a = b;
b = temp;
}
return a;
}
递归求解:
int gcd(int a, int b)
{
if (b == 0)
return a;
else
return gcd(b, a % b); //如果a<b,第一次执行已经交换过来
}
最小公倍数用两个数的乘积除以最大公约数:(a * b) / gcd(a, b)