码迷,mamicode.com
首页 > 其他好文 > 详细

分解质因数

时间:2019-06-04 13:32:01      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:形式   get   const   ==   ===   console   while   class   针对   

每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。如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 ]

分解质因数

标签:形式   get   const   ==   ===   console   while   class   针对   

原文地址:https://www.cnblogs.com/caoke/p/10972816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!