兩個數的最大公約數
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]; }
不足之處請指出
