JavaScript利用递归和循环实现阶乘
程序员文章站
2022-04-28 21:33:39
【实现方法】 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>
推荐阅读
-
Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例
-
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
-
JavaScript利用递归和循环实现阶乘
-
Java将十进制数转化为二进制数,递归和循环方法实现
-
C语言实现输入一个数求其阶乘(while循环和for循环)
-
php通过循环和递归实现无限级分类
-
JavaScript数据结构之双向链表和双向循环链表的实现
-
JavaScript使用递归和循环实现阶乘的实例代码
-
前端学习笔记三:JavaScript(2)变量的分类和作用域+利用浏览器调试模式测试+HTML事件+表示特殊字符(+运算符+各种循环和条件语句【略】)
-
利用JavaScript实现春节倒计时效果(移动端和PC端)