1 回答

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
將解釋一些代碼;我們首先要做的是對(duì)數(shù)組進(jìn)行排序,因?yàn)樗且粋€(gè)由兩個(gè)數(shù)字組成的數(shù)組,在對(duì)它進(jìn)行排序之后,我們需要?jiǎng)?chuàng)建一個(gè)新數(shù)組來存儲(chǔ)從第一個(gè)元素到第二個(gè)元素的路徑;我們定義最大和最小數(shù)字之間的差,以便在我們存儲(chǔ)路徑后創(chuàng)建一個(gè)存儲(chǔ)路徑;我們定義了兩個(gè)函數(shù)來求大公約數(shù)和最小公倍數(shù);之后我們使用 reduce 來獲得 LCM 的 Value。希望這對(duì)你有幫助,gcd的算法是基于歐幾里得劃分
function smallestCommons(arr) {
arr = arr.sort((a,b)=>a-b)
let newarr = []
let dif = arr[1]-arr[0]
for(let i=0; i<= dif;i++){
newarr.push(arr[0]+i)
}
const gcd = (a,b)=>a?gcd(b%a,a):b;
const lcm = (a,b)=> a/gcd(a,b)*b
return newarr.reduce(lcm);
}
console.log(smallestCommons([1, 5]));
console.log(smallestCommons([90,10]));
添加回答
舉報(bào)