这篇文章给大家介绍JavaScript中怎么实现分解质因数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
js实现分解质因数代码如下:
<script>
//定义一个数组,用来存放因数
varfactorList=[];
//定义数组里面数的位置的起始值0
vara=0;
//定义分解质因数的函数
functiondecomposition(num){
vari=2;
//如果被分解的数为1、2、3,则直接存入数组,并返回结果
if((num==1)||(num==2)||(num==3)){
factorList[a++]=num;
returnfactorList;
}
//如果被分解的数不是1、2、3,则需要先存下它最小的因数,然后除以它的最小的因数之后再次进行分解
//num/2是因为如果在num的一半大小之前如果没有找到因数,那么之后也不会有,因此不需要后面的部分也进入循环,提升效率
for(;i<=num/2;i++){
if(num%i==0){
//存下一个因数(后面跳出循环保证存入的是最小的)
factorList[a++]=i;
//除以因数后,继续进行分解操作
decomposition(num/i);
//跳出循环,确保存入数组的是最小的因数
break;
}
}
//存放最后一个质因数
if(i>num/2){
factorList[a++]=num;
}
returnfactorList;
}
//提示输入一个需要分解质因数的数
varinput=Number(prompt("请输入一个数:"));
//传入分解质因数的函数中,调用
decomposition(input);
//定义输出的结果
result=input+"="
//循环将数组中的值,即各质因数放入结果中
for(varx=0;x<factorList.length;x++){
result+=factorList[x];
//最后一个质因数放入结果后,不需要*号
if(x!=factorList.length-1){
result+="*";
}
}
//页面中写出结果
document.write("<h2>"+result+"</h2>");
</script>
对266进行质因数的分解:
varp=fenjie(266);
for(indexinp){
console.dir(index+""+p[index]);
}
运行结果:266=2*7*19
关于JavaScript中怎么实现分解质因数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。