用c++计算s=1!+(1!+2!)+(1!+2!+3!)+...(1!+2!+3!+...+n!)

求标题中的问题,然后我写了如图的程序但是是错误的,想知道正确的解法

内循环前面加一条语句,要对f赋初值为1,f=1;加到18行前面就可以了。

#include<iostream>

using namespace std;

int main()
{
    int i, n, js = 1;
    int sum = 0; //所有的和
    int sum2 = 0; //阶乘的和
    
    cout << "请输入" << endl;
    cin >> n;

    for (int i = 1; i <= n; ++i) {
        js *= i;
        sum2 += js;
        sum += sum2;
    }

    cout << sum << endl;
    return 0;
}

 

int main()
{
    int s,n,f;
    cout<<"please input"<<endl;
    cin>>n;
    s=0;
    for(int i = 1;i <= n; i++)
        {
            f=1;
            for(int c = 1; c <= i; c++)
                {
                    f=f*c;
                    s=s+f;
                }
        }
    cout <<s<<endl;
}

请采纳,谢谢!

 

0基础学C语言(贪吃蛇项目实战):https://edu.csdn.net/course/detail/2766

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y