分解质因数
每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。如30=2×3×5 。分解质因数只针对合数。
//分解质因数
function factor(n){
const ans=[];
const temp=(Math.sqrt(n)>>0)+1;
let now=n;
for(let i=2;i<temp;i++){
if(now%i===0){
ans.push(i)
now=now/i;
while (now%i===0){
ans.push(i);
now=now/i;
}
}
}
if(now!==1){
ans.push(now);
}
return ans;
}
demo
console.log(factor(100))
[ 2, 2, 5, 5 ]

浙公网安备 33010602011771号