方法来自求多个数最小公倍数的一种变换算法
最小公倍数的算法由最大公约数转化而来。最大公约数可通过如下步骤求得:
(1) 找到a1,a2,..,an中的最小非零项aj,若有多个最小非零项则任取一个
(2) aj以外的所有其他非0项ak用ak mod aj代替;若没有除aj以外的其他非0项,则转到(4)
(3) 转到(1)
(4) a1,a2,..,an的最大公约数为aj
写了两个版本的javascript求公倍数和公约数,主要偏重于算法,没有太注意命名,很多就直接写的单字母名称。
0.简单易懂的循环
function getMin(arr){
var min = Infinity
arr.forEach(function(item){
if( item < min && item !=0 ){
min = item
}
})
return min
}
function howMuchZero(arr){
var zerocount = 0
arr.forEach( function(item){
item === 0 ?
zerocount++ : zerocount
}
)
if(zerocount === arr.length -1) {
return true
}
else return false
}