【實現(xiàn)方法】
1.利用while循環(huán)來做,當然for循環(huán)也可以。
2.遞歸
【代碼內(nèi)容】
偷懶,直接用onkeyup事件來限制來頁面的輸入
循環(huán)代碼:
//第一種方法 while循環(huán) oCount.onclick = function (){ var oNum = document.getElementById('num').value; oNum = Number(oNum); if(oNum <= 1){ oBox.innerHTML = 1; } var oRes = 1; while(oNum){ oRes *= oNum; oNum--; } oBox.innerHTML = oRes; }遞歸代碼
// 第二種方法 遞歸 oCount.onclick = function(){ var oNum = document.getElementById('num').value; oNum = Number(oNum); function factorial (num) { if (num <= 1) { return 1; } else { return (num * factorial(num-1)); } }; oRes=factorial(oNum); oBox.innerHTML = oRes; };完整代碼:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>兩種實現(xiàn)階乘方法</title> <style> #box { width: 100%; height: 200px; border: 1px solid #ccc; text-align: center; } </style> <script> window.onload = function() { var oBox = document.getElementById('box'); var oCount = document.getElementById('count'); // 第一種方法 while循環(huán) // oCount.onclick = function (){ // var oNum = document.getElementById('num').value; // oNum = Number(oNum); // if(oNum <= 1){ // oBox.innerHTML = 1; // } // var oRes = 1; // while(oNum){ // oRes *= oNum; // oNum--; // } // oBox.innerHTML = oRes; // } // 第二種方法 oCount.onclick = function(){ var oNum = document.getElementById('num').value; oNum = Number(oNum); function factorial (num) { if (num <= 1) { return 1; } else { return (num * factorial(num-1)); } }; oRes=factorial(oNum); oBox.innerHTML = oRes; }; } </script></head><body> <div id="box"></div> <input type="text" id="num" onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu = "value=value.replace(/[^0-9]/g,'')"> <input type="button" id="count" value="計算"></body></html>下面通過代碼看下javascript 中階乘函數(shù)方法
好久沒有弄了,練習下:
// 第一, 向上加的階層函數(shù)計算方法 var number = function(n) { if(n == 1) { return 1 } else { product = 1; for(i = 1; i <= n; i++) { product *= i; } return product; }}var d = number(5);alert(d); // 第二, 往下減的階層函數(shù)var del = function(n) { if(n == 1) { return 1 } else { return n * del(n - 1); } } var data= del(5); alert(data); 總結
以上所述是小編給大家介紹的JavaScript使用遞歸和循環(huán)實現(xiàn)階乘的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答