找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。 范围是两个数字构成的数组,两个数字不一定按数字顺序排序。

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:搬砖......

posted @ 2018-01-05 22:06  叶绿痕  阅读(170)  评论(0编辑  收藏  举报