UNPKG

util-helpers

Version:

一个基于业务场景的工具方法库

29 lines (28 loc) 855 B
/** * 最大公约数,使用辗转相除法。 * * 遵循以下约定: * * 1. 如果参数中包含无效数值,返回 `NaN` * 2. 如果全部参数都为 `0` ,返回 `0` * 3. 如果参数包含 `0` ,仅计算非零的数。 * 4. 如果参数为负数,将转为绝对值的正数。 * 5. 如果参数包含小数点,将转为四舍五入的整数。 * * @alias module:Math.gcd * @since 4.20.0 * @see {@link https://baike.baidu.com/item/最大公约数 最大公约数} * @param {...(number|string)} nums 两个或多个整数。 * @returns {number} 最大公约数。 * @example * * gcd(8, 14); // 2 * gcd(57, 48); // 3 * gcd(140, 21, 42); // 7 * gcd('foo', 'bar'); // NaN * gcd(0, 10); // 10 * gcd(2.3, 3.8, 8, -10); // 2 * */ declare function gcd(...nums: (string | number)[]): number; export default gcd;