您好,登錄后才能下訂單哦!
這篇文章給大家介紹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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。