//js求两个正整数的最小公倍数
function gbs(a, b){
let max = a;
if(b > max){
max = b;
}
if(a==1 || b == 1){
console.log(a + "和" + b + "的最小公倍数是:" + max);
return;
}
let find = 0;
for(let i=1; i<=max; i++){
let n1 = i*a;
for(let j=1; j<=max; j++){
let n2 = j*b;
if(n1 == n2){
console.log(a + "和" + b + "的最小公倍数是:" + n1);
find = 1;
break;
}
}
if(find){
break;
}
}
}
gbs(6,9) //输出:6和9的最小公倍数是:18
用递归方法只需要一句代码,并且高效很多:
function digui(m, n){
return m%n==0?(n):(digui(n, m%min));
}
//上面方法返回的是两数的最大公约数,故最小公倍数:
let m=5,n=7;
let zdgys = digui(m, n);
let zxgbs = (m*n)/zdgys;
console.log(m + '和' + n + '的最小公倍数是:' + zxgbs);