每日算法 ---- 求1!+2!+3!+......+20!的值

Posted zhy7blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日算法 ---- 求1!+2!+3!+......+20!的值相关的知识,希望对你有一定的参考价值。

计算 求1!+2!+3!+......+20!的值

阶乘说明: 一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!
阶乘表示: $n! = ($n-1)!* $n

 // 求1!+2!+3!+......+20!的值。
    public function main()
    
        $re = 0;
        for ($i = 1; $i <= 20; $i++) 
            $re += $this->factorial($i);
        
        return $re;
    

    //非递归   循环求n!
    public function factorial($n)
    
        $jc = 1;
        for ($i = 1; $i <= $n; $i++) 
            $jc *= $i;
        
        return $jc;
    

    //递归方式 求n!
    public function  reFactorial($i)
        if($i > 1 )
            return $i = $i * $this->reFactorial($i-1);
        else
            return 1;
        
    

技术图片

以上是关于每日算法 ---- 求1!+2!+3!+......+20!的值的主要内容,如果未能解决你的问题,请参考以下文章

C语言每日一练——第154天:牛顿迭代法求方程根

算法题每日一练---第36天:连续子数组的最大和

每日算法快速幂

每日算法高速幂

每日算法-05(最长上升子序列)

每日算法基础算法——浮点数二分查找[数的三次方根](六