JavaScript使用递归和循环实现阶乘的实例代码
程序员文章站
2024-02-07 15:18:28
【实现方法】
1.利用while循环来做,当然for循环也可以。
2.递归
【代码内容】
偷懒,直接用onkeyup事件来限制来页面的输入
循...
【实现方法】
1.利用while循环来做,当然for循环也可以。
2.递归
【代码内容】
偷懒,直接用onkeyup事件来限制来页面的输入
循环代码:
//第一种方法 while循环 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>两种实现阶乘方法</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循环 // 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 中阶乘函数方法
好久没有弄了,练习下:
// 第一, 向上加的阶层函数计算方法 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); // 第二, 往下减的阶层函数 var del = function(n) { if(n == 1) { return 1 } else { return n * del(n - 1); } } var data= del(5); alert(data);
总结
以上所述是小编给大家介绍的javascript使用递归和循环实现阶乘的实例代码,希望对大家有所帮助
下一篇: 原生JS实现简单的倒计时功能示例