美文网首页
js的阶乘

js的阶乘

作者: 斯里兰卡的小狮子 | 来源:发表于2019-03-18 10:35 被阅读0次
1,写一个返回阶乘的函数
factorial(5) = 5*4*3*2*1
factorial(10) = 10*9*8*7*6*5*4*3*2*1
function factorial(n){
    if(n <= 1) return 1;
    return n*arguments.callee(n-1)
}

在不用试arguments.callee情况下,可以使用递归:

function factorial(n){
    if(n <= 1) return 1;
    return n*factorial(n-1)
}
2,编写一个函数1!+2!+3!...+n!
function jiecheng01(n){
    var sum = 0;
    for(;n>0;n--){
        let temp = (function(i){
            if(i<=1) return 1;
            return i*arguments.callee(i-1);
        })(n)
        sum+=temp;
    }
    return sum;
}
function jiecheng02(n){
    var i,temp = 1,sum=0;
    for(var i = 1;i<=n;i++){
         temp = i*temp;
         sum += temp;
    }
    return sum;
}

针对该问题,jiecheng02的算法复杂度更简单。

相关文章

  • js的阶乘

    1,写一个返回阶乘的函数 在不用试arguments.callee情况下,可以使用递归: 2,编写一个函数1!+2...

  • js实现阶乘

    //while循环实现 function calNum(n) { var product = 1; while(n...

  • js 数字的阶乘

    表达想法的工具,不要炫技,不能形式大于内容。 一个正整数n的阶乘(factorial),是等于所有小于以及等于n的...

  • 原生JS实现阶乘

    使用递归 使用for循环 使用while循环

  • Java 实现阶乘算法

    Java 实现阶乘算法 阶乘算法如下: 以下列出 0 至 20 的阶乘: 0!=1,(0 的阶乘是存在的) 1!=...

  • 专题:递归与累加阶乘

    递归实现累加和阶乘 累加核心代码: 阶乘的核心代码: 阶乘的非递归实现思路: 阶乘的非递归实现核心代码:

  • 小练习 python3 阶乘运算

    运行结果: 0的阶乘是:= 01 的阶乘是:1= 12 的阶乘是:2X1= 23 的阶乘是:3X2X1= 64 的...

  • JS基础---习题阶乘和计算

    1.求1!+2!+3!+...+10!的和?这是数学中的阶乘和计算! 2.对一个整数分解质因数。例如: 90 = ...

  • 【JS】小作业-阶乘递归思想

    functionmul(n){ if(n-1==0){///出口,也就是停止条件,不然就是一个死循环了。实际上是执...

  • python递归求阶乘的方法

    python递归求阶乘的方法 阶乘:例如 5! 指的是“5的阶乘”,即 5! = 1*2*3*4*5。 “递归”就...

网友评论

      本文标题:js的阶乘

      本文链接:https://www.haomeiwen.com/subject/wkzmmqtx.html