8.2 公倍數與公因數
利用輾轉相除法
,我們可以很方便地求得兩個數的最大公因數(greatest common divisor,GCD);將兩個數相乘再除以最大公因數即可得到最小公倍數(least common multiple, LCM)。
- C++
- Python
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);
}
def gcd(a: int, b: int) -> int:
return a if b == 0 else gcd(b, a % b)
def lcm(a: int, b: int) -> int:
return (a * b) // gcd(a, b)