查找一个数字的所有质因子——JavaScript
我们需要编写一个 JavaScript 函数,该函数接受一个数字,并返回一个数组,其中包含所有能整除输入数字的质数。
例如,如果输入数字为 18。
则输出应该是 −
const output = [2, 3];
示例
让我们来写这个函数的代码 −
const num = 18; const isPrime = (n) => { for(let i = 2; i <= n/2; i++){ if(n % i === 0){ return false; } }; return true; }; const findPrimeFactors = num => { const res = num % 2 === 0 ? [2] : []; let start = 3; while(start <= num){ if(num % start === 0){ if(isPrime(start)){ res.push(start); }; }; start++; }; return res; }; console.log(findPrimeFactors(18));
输出
在控制台中的输出: −
[2, 3]
广告