你可以使用以下的JavaScript函数来将一个正整数分解为质因数,并将结果输出为数组:
function primeFactors(n) {
let factors = [];
let divisor = 2;
// 判断输入是否为正整数
if (n <= 0 || !Number.isInteger(n)) {
throw new Error('Input must be a positive integer.');
}
// 当n为1时,没有质因数
if (n === 1) {
return [];
}
while (n >= 2) {
// 如果divisor是n的因数,则将其添加到质因数数组中,并更新n
if (n % divisor === 0) {
factors.push(divisor);
n /= divisor;
} else {
// 否则,尝试下一个可能的因数
divisor++;
}
}
return factors;
}
// 示例
console.log(primeFactors(315)); // 输出: [3, 3, 5, 7]
这个函数从2开始,尝试每一个可能的因数,直到找到所有的质因数。每次找到一个因数,就将其添加到结果数组中,并更新待分解的数。如果当前的因数不是待分解数的因数,就尝试下一个数。这个过程会一直持续到待分解数变为1为止。
标签:正整数,divisor,js,因数,分解,数组,质因数 From: https://www.cnblogs.com/ai888/p/18634744