javascript算法集:最小公约数
function greatestCommonDivisor1(a, b){
if(a < 0 || b < 0) throw new Error('参数只能为正整数');
if(a < 2 || b < 2) return 1;
let min = a,
max = b,
arymin = [];
if(a > b) {
min = b;
max = a;
}
for(let i = 1; i <= min; i++){
if(min % i === 0){
arymin.push(i);
console.log(1)
}
}
arymin.reverse();
for(let j = 0, len = arymin.length; j < len; j++){
if(max % arymin[j] === 0){
return arymin[j];
}
}
}
|
测试:greatestCommonDivisor1(5, 10) // 5
THE END