给定输入n,求1!+2!+3!+.+n!。

给定输入n,求1!+2!+3!+。+n!。在使用双重循环解决问题的前提下,可以尝试优化算法,使用单重循环解决该问题。
【输入形式】

一个数字n,不超过20
【输出形式】【输出形式】

一个数字,1!+2!+3!+.+n!的结果

【样例输入】

3
【样例输出】

9
【样例说明】

输入为3,即求1!+2!+3!=1+2+6=9

int n;
int a=1;
int sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
a*=i;
sum+=a;
}
cout<<sum;

供参考:

#include <stdio.h>
int main()
{
    int n, i, t=1, s=0;
    scanf("%d",&n);
    for (i = 1; i <= n; i++)
    {
        t *= i;
        s += t;
    }
    printf("%d",s);
    return 0;
}

#include <iostream>
using namespace std;
int main()
{
    int n = 0, sum = 0, t = 1;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        t *= i;
        sum += t;
    }
    cout << sum << endl;
    return 0;
}