您好,登錄后才能下訂單哦!
這篇文章給大家介紹JavaScript中怎么實現(xiàn)分解質(zhì)因數(shù),內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
js實現(xiàn)分解質(zhì)因數(shù)代碼如下:
<script>
//定義一個數(shù)組,用來存放因數(shù)
varfactorList=[];
//定義數(shù)組里面數(shù)的位置的起始值0
vara=0;
//定義分解質(zhì)因數(shù)的函數(shù)
functiondecomposition(num){
vari=2;
//如果被分解的數(shù)為1、2、3,則直接存入數(shù)組,并返回結(jié)果
if((num==1)||(num==2)||(num==3)){
factorList[a++]=num;
returnfactorList;
}
//如果被分解的數(shù)不是1、2、3,則需要先存下它最小的因數(shù),然后除以它的最小的因數(shù)之后再次進行分解
//num/2是因為如果在num的一半大小之前如果沒有找到因數(shù),那么之后也不會有,因此不需要后面的部分也進入循環(huán),提升效率
for(;i<=num/2;i++){
if(num%i==0){
//存下一個因數(shù)(后面跳出循環(huán)保證存入的是最小的)
factorList[a++]=i;
//除以因數(shù)后,繼續(xù)進行分解操作
decomposition(num/i);
//跳出循環(huán),確保存入數(shù)組的是最小的因數(shù)
break;
}
}
//存放最后一個質(zhì)因數(shù)
if(i>num/2){
factorList[a++]=num;
}
returnfactorList;
}
//提示輸入一個需要分解質(zhì)因數(shù)的數(shù)
varinput=Number(prompt("請輸入一個數(shù):"));
//傳入分解質(zhì)因數(shù)的函數(shù)中,調(diào)用
decomposition(input);
//定義輸出的結(jié)果
result=input+"="
//循環(huán)將數(shù)組中的值,即各質(zhì)因數(shù)放入結(jié)果中
for(varx=0;x<factorList.length;x++){
result+=factorList[x];
//最后一個質(zhì)因數(shù)放入結(jié)果后,不需要*號
if(x!=factorList.length-1){
result+="*";
}
}
//頁面中寫出結(jié)果
document.write("<h2>"+result+"</h2>");
</script>
對266進行質(zhì)因數(shù)的分解:
varp=fenjie(266);
for(indexinp){
console.dir(index+""+p[index]);
}
運行結(jié)果:266=2*7*19
關于JavaScript中怎么實現(xiàn)分解質(zhì)因數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。