【问题标题】:Series sum according to the formula C++ [closed]根据公式C ++的系列总和[关闭]
【发布时间】:2021-04-02 17:59:46
【问题描述】:

我需要编写一个程序/函数,根据公式计算级数和:

series sum

用户输入的数据是:m

我是一个完全的初学者,我不知道该怎么做...我假设我需要创建一个循环(或 2 个)...但是如何...?因此,如果有人可以帮助我,我将非常感激。

【问题讨论】:

    标签: c++ sum series


    【解决方案1】:

    符号Σ(sigma)一般用来表示多项的和。这样,您必须对从 0 到 m 的每个 j 求和所有 (1+j) / (2*j**3 + 3)。

    如下所示,m 等于 14,但您可以更改此参数。

    #include <iostream>
    #include <math.h>
    
    using namespace std;
    
    int main() {
        float s = 0;
        int m = 14;
        for(int j = 0; j <= m; j++) s += (1 + j) / (pow(j, 3) + 3);
        cout << s;
        return 0;
    }
    

    如果您需要接受用户输入,我们也欢迎您

    #include <iostream>
    #include <math.h>
    
    using namespace std;
    
    int main() {
        float s = 0;
        int m;
        cin >> m;
        for(int j = 0; j <= m; j++) s += (1 + j) / (pow(j, 3) + 3);
        cout << s;
        return 0;
    }
    

    使用乘法代替 pow 函数

    #include <iostream>
    
    using namespace std;
    
    int main() {
        float s = 0;
        int m;
        cin >> m;
        for(int j = 0; j <= m; j++) s += (float)(1 + j) / (j*j*j + 3);
        cout << s;
        return 0;
    }
    

    【讨论】:

    • 您可能想使用(j * j * j) 而不是pow(j, 3)。通常乘法比调用pow 更快更准确。
    • @ThomasMatthews 添加为下方的第三个变体。
    • 啊,好吧!因为一开始我真的很困惑..我正在寻找一些不同的公式来计算这个但没有任何效果。我仔细研究了你写的代码。我现在得到了这个!非常感谢!
    • @user15374677 如果我的回答对你有帮助,请点赞并接受这个回答。
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2021-06-18
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多