# 定义

若有一个数 X, 可以被另外两个数 AB 整除, 且 X 大于(或等于) AB, 则 XAB 的公倍数。 AB 的公倍数有无限个, 而所有的公倍数中, 最小的公倍数就叫做最小公倍数。

Note

lcm(a,b)=gcm(a,b)ablcm(a, b) = \frac{gcm(a, b)}{|a * b|}

# 实现代码

/*
 * @Author: Rainy
 * @Date: 2020-01-31 12:33:43
 * @LastEditors  : Rainy
 * @LastEditTime : 2020-01-31 13:25:56
 */

import { gcd_optimal } from '../gcd';

// the least common multiple
export function lcm(a: number, b: number): number {
  return ((a === 0) || (b === 0)) ? 0 : Math.abs(a * b) / gcd_optimal(a, b);
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# 参考资料

最小公倍数 - wiki (opens new window)