递归的实现

用递归实现一个阶乘算法

5! = 5 * 4 * 3 * 2 * 1 = 120

用递归
function factorial(n) {
    if (n === 0) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}



用栈操作 function fact(n) { var s
= new Stack(); while (n > 1) { //[5,4,3,2] s.push(n--); } var product = 1; while (s.length() > 0) { product *= s.pop(); } return product; } fact(5) //120

 

posted @ 2017-04-09 23:33  Mr_伍先生  阅读(161)  评论(0编辑  收藏  举报