javascript怎么求出一个数的所有素数因子?
碰到一个javascript算法题,要求是:求出一个数的所有素数因子
我设计的算法:
function primeFactors(n){
var factors = [];
var divisor = 3;
if (n % 2==0) factors.push(2);
while(n>5){
if(n % divisor == 0){
!factors.includes(divisor) && factors.push(divisor);
n= n/ divisor;
}
else{
divisor+=2;
}
}
return factors;
};
console.log(primeFactors(666));
运行结果为:
虽然运算结果看着是对的,但是觉着算法设计的太low,性能低,求大神帮忙分析下,写一个更好的算法,多谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论