使用js写一个方法将一个正整数分解质因数,输出为数组
你可以使用以下的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为止。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了