js计算多个数的最大公约数和最小公倍数
两个数的最大公约数
function fn (a, b) { if (b===0) { return a } else { return fn4(b, a%b); } }
多个数的最大公约数
先求出两个的最大公因数,然后再用求出来的最大公因数和第三个求,依次类推
function fn2 () { let arr = Array.from(arguments); if (arr.length < 1) return; while (arr.length > 1) arr.splice(0,2,fn4(arr[0],arr[1])); return arr[0]; }
两个数的最小公倍数
最小公倍数等于两数的乘积除以两数的最大公因数
function fn3 (a, b) { return a * b / fn(a, b); }
多个数的最小公倍数
原理和求多个数的最大公因数相同
function fn4 () { let arr = Array.from(arguments); while (arr.length > 1) arr.splice(0,2,fn42(arr[0],arr[1])); return arr[0]; }
不足之处请指出