阶乘求和 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 <iostream>
#include <stdio.h>
#include <string>
#include <typeinfo>
#include <stack>
#include <vector>
#include <sstream>
#include <string.h>
#include <map>
#include <math.h>
#include <stdlib.h>
#include <limits.h>
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;
}


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页