程序功能】求级数的前n项之和。 【编程要求】(1). 编写函数double fun(double x, int n),其功能是对于给定的x计算下列级数前n项的和,函数返回计算结果。 f(x)=x/(1*1)-x3/(1*2)+x5/(2*3)-x7/(3*5)…+(-1)i*x(2*i+1) /(fi*fi+1) 注:x后面的数字是指数。 其中:fi(i=0,1,2,3…,n)是Fibonacci数列中的第i项, Fibonacci数列是:1,1,2,3,5,8,13,21,34, … … 。 (2). 编写main函数,接收从键盘输入的x和n的值,调用函数fun计算级数前n项的和,并按下列形式输出结果。(n<20) 注:不允许使用pow()函数。
时间: 2024-03-09 22:48:20 浏览: 54
下面是求级数前n项和的C++代码:
```c++
#include <iostream>
// 计算Fibonacci数列中第n项的值
int fibonacci(int n) {
if (n <= 1) return 1;
int a = 1, b = 1;
for (int i = 2; i <= n; i++) {
int c = a + b;
a = b;
b = c;
}
return b;
}
// 计算级数前n项的和
double fun(double x, int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
int fi = fibonacci(i);
double term = x * (2 * i + 1) / (fi * (fi + 1));
sum += (i % 2 == 0 ? term : -term);
}
return sum;
}
int main() {
double x;
int n;
std::cout << "请输入x和n的值(n < 20):";
std::cin >> x >> n;
double sum = fun(x, n);
std::cout << "级数前" << n << "项的和为:" << sum << std::endl;
return 0;
}
```
在`fun`函数中,我们使用了一个循环来计算级数前n项的和。在每一项的计算中,我们需要求出Fibonacci数列中的第i项,然后根据公式计算出该项的值,最后加入到总和中。注意,在每一项的计算中,我们需要根据i的奇偶性来决定是加上该项还是减去该项。
阅读全文