找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。
范围是两个数字构成的数组,两个数字不一定按数字顺序排序。
例如对 1 和 3 —— 找出能被 1 和 3 和它们之间所有数字整除的最小公倍数。
代码:
function smallestCommons(arr) {
arr = arr.sort(function(a,b){return a-b;});
function fun(m,n){
if(m%n === 0){
return n;
}
return fun(n,m%n);
}
var num=arr[0];
for(var i=arr[0]+1;i<=arr[1];i++){
num *=i/fun(num,i);
}
return num;
}
smallestCommons([1,5]);
热门评论
递归好难,算法是不是都这么难!求推荐有什么办法能练一练递归的算法