以下是一个使用JavaScript实现分解质因数的函数:
function primeFactors(n){ var factors = []; var divisor = 2; while(n>2){ if(n % divisor == 0){ factors.push(divisor); n= n/ divisor; } else{ divisor++; } } return factors; } // Example usage: console.log(primeFactors(12)); // [2,2,3] console.log(primeFactors(56)); // [2,2,2,7] console.log(primeFactors(99)); // [3,3,11]
在上面的函数中,我们首先初始化一个数组factors
来存储质因数。然后我们用变量divisor
初始化为2开始,不断将它作为因子来除选择的正整数n
,直到n
不能再被任何因子整除。如果能被整除,就把这个因子记录下来,然后将n
值改为原来的正整数除以这个因子后得到的值。如果不能被整除,那么就将divisor
的值加1,然后继续检查。
最后,函数将返回一个包含所有质因数的数组factors
。你可以调用函数,并传入一个你想要分解的正整数,比如primeFactors(12)
,该函数将会返回数组[2,2,3]
,表示12是由2和3组成的质因数积。