【发布时间】:2021-04-02 17:59:46
【问题描述】:
我需要编写一个程序/函数,根据公式计算级数和:
用户输入的数据是:m。
我是一个完全的初学者,我不知道该怎么做...我假设我需要创建一个循环(或 2 个)...但是如何...?因此,如果有人可以帮助我,我将非常感激。
【问题讨论】:
我需要编写一个程序/函数,根据公式计算级数和:
用户输入的数据是:m。
我是一个完全的初学者,我不知道该怎么做...我假设我需要创建一个循环(或 2 个)...但是如何...?因此,如果有人可以帮助我,我将非常感激。
【问题讨论】:
符号Σ(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 更快更准确。