阶乘求和 0!+1!+2!+3!+4!+5!+... O(n) 复杂度

n次循环
以 n = 4 为例

利用 n!+(n-1)! = (n + 1) x ( n - 1)!

	4! + 3! + 2! + 1! + 0!
= (4+1) x 3! + 2! + 1! + 0!
= ( (4+1) x 3 + 1) x 2! + 1! + 0!
= ( ( (4+1) x 3 + 1) x 2 + 1) x 1 + 0!
= ( ( ( (4+1) x 3 + 1) x 2 + 1) x 1 + 1) x 0!
 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long LL;

int main()
{
    int n = 5;
    long long s = 1;
    for (;n >= 1; n--)
    {
       s = (1 + n * s) ;
    }
    cout<< s <<endl;
    return 0;
}


你可能感兴趣的:(算法总结,数学相关)