3個或更多數字的最小公倍數如何計算多個數字的最小公倍數?到目前為止,我只能在兩個數字之間進行計算。但不知道如何擴展它來計算3個或更多數字。到目前為止,這就是我做到的LCM = num1 * num2 / gcd ( num1 , num2 )使用gcd是計算數字的最大公約數的函數。使用歐幾里得算法但我無法弄清楚如何計算3個或更多數字。
3 回答
阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
這是一個ECMA風格的實現:
function gcd(a, b){
// Euclidean algorithm
var t;
while (b != 0){
t = b;
b = a % b;
a = t;
}
return a;}function lcm(a, b){
return (a * b / gcd(a, b));}function lcmm(args){
// Recursively iterate through pairs of arguments
// i.e. lcm(args[0], lcm(args[1], lcm(args[2], args[3])))
if(args.length == 2){
return lcm(args[0], args[1]);
} else {
var arg0 = args[0];
args.shift();
return lcm(arg0, lcmm(args));
}}添加回答
舉報
0/150
提交
取消
