给定两个数,求出这两个数之间所有数字的最小公倍数

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>求最小公倍数</title>
</head>

<body>
<script>
//定义一个最小公倍数的函数
var zuixiao = function(x, y) {
//首先写一个求两个数的最小公倍数的函数
var gbs = function(a, b) {
if (a > b) {
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
if (a == b || (a == 1 || b == 1)) {
return b;
}
var x = 0;
for (var i = 2; i <= b; i++) {
x = a * i;
if (x % b == 0) {
return x;
}
}
}
//在写一个求某一个数组中所有最小公倍数的函数,思路先求数组前面两个数的最小公倍数的函数
//再拿出求出来的最小公倍数来跟下一个比
//循环直到求出所有数组里的最小公倍数
var gbsArr = function(arr) {
var i = 0,
len = arr.length,
jg = 1;
for (; i < len; i++) {
jg = gbs(jg, arr[i])
}
return jg;
}
//将传入的两个数之间的所有数传入一个数组
//在调用求数组的最小公倍数的函数
if (x > y) {
x = x ^ y;
y = x ^ y;
x = x ^ y;
}
var brr = [],
z = y - x;
for (var j = 0; j <= z; j++) {
brr.push(x + j)
}
return gbsArr(brr)
}
console.log(zuixiao(6, 10));
</script>
</body>

</html>

posted @ 2017-03-03 16:51  小咖小陈  阅读(188)  评论(0)    收藏  举报