找出能被兩個給定參數和它們之間的連續數字整除的最小公倍數。 範圍是兩個數字構成的數組,兩個數字不一定按數字順序排序。
阿新 • • 發佈:2018-01-06
數字 g++ res tle 等於 param span 最小公倍數 推薦
function smallestCommons(arr) {
arr = arr.sort(); //從小到大排序
var result ; //結果
var judge = false; //判斷公倍數
var count = 0; //計數
for(var g=arr[1];g<400000;g++){ //從arr[1]開始遍歷判斷公倍數g,‘j<400000’可為空,直到無窮(不推薦)
for(var i=arr[0];i<=arr[1];i++){ //遍歷 給定參數arr之間的連續數字
if(g%arr[1] !== 0) break; //是否arr[1]的倍數,加快循環判斷
if(g%i !== 0) break; //是否i的倍數
else count++; //如果count等於參數之差,則j是所求的公倍數
if(count === arr[1]-arr[0]){
judge = true; result = g;
}
}
if(judge === true) break; //判斷g是公倍數,遍歷結束
else count = 0; //否則重新計數
}
return result;
}
smallestCommons([5,1]);
ps:搬磚......
找出能被兩個給定參數和它們之間的連續數字整除的最小公倍數。 範圍是兩個數字構成的數組,兩個數字不一定按數字順序排序。