利用辗转相除法:除数和余数不断做除法,a赋值位除数,b复制为余数。直到余数为0时,a为正确答案。
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
最小公倍数为两数乘积与最大公约数的商。
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
利用辗转相除法:除数和余数不断做除法,a赋值位除数,b复制为余数。直到余数为0时,a为正确答案。
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
最小公倍数为两数乘积与最大公约数的商。
int lcm(int a, int b) {
return a * b / gcd(a, b);
}