有一分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13,…, 由用户输入项目数N,求这个数列的前N 项之和 c语言代码
时间: 2023-10-31 08:06:41 浏览: 78
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i;
double a = 2, b = 1, sum = 0, temp;
printf("请输入数列的项数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += a / b;
temp = a;
a = -a + b;
b = temp;
}
printf("数列的前%d项之和为%.4f", n, sum);
return 0;
}
```
首先定义变量a、b和sum,分别表示数列中的分子、分母和前N项之和。然后进行循环计算,每次计算分数的值并加入sum中。在每次循环中,先将a和b互换,然后根据数列规律更新a和b的值。最后输出结果即可。
相关问题
有一个分数序列:2/1.-3/2
这个分数序列的下一个分数是 5/3。
这个分数序列的规律是:将前一个分数的分子与分母相加,作为下一个分数的分子;将前一个分数的分子作为下一个分数的分母。
具体来说,序列中的第一个分数是 2/1,下一个分数是 2+1/2=5/2,再下一个分数是 5+2/3=17/3,再下一个分数是 17+3/5=88/15,以此类推。所以这个分数序列的下一个分数是 88/15 的约分形式,即 5/3。
有一分数序列: 1/2-2/3+3/5--5/8+8/13-13/21..., 求出这个数列的前20项之和。
这个数列是一个交替求和的数列,可以看作是两个单独的数列相加,分别是正数项的数列和负数项的数列。
先来看正数项的数列,可以发现分子是递增的奇数,分母是递增的斐波那契数列。可以列出如下公式:
$\frac{1}{2} + \frac{3}{5} + \frac{8}{13} + \frac{21}{34} + \frac{55}{89} + \cdots$
其中的分子可以表示为 $a_n = F_{n+1}$,即第 $n+1$ 个斐波那契数;分母可以表示为 $b_n = F_{n+2}$,即第 $n+2$ 个斐波那契数。所以,正数项的数列可以表示为:
$\sum\limits_{n=0}^{\infty} \frac{F_{n+1}}{F_{n+2}}$
接下来看负数项的数列,可以发现分子是递减的奇数,分母也是递增的斐波那契数列。可以列出如下公式:
$-\frac{2}{3} - \frac{5}{8} - \frac{13}{21} - \frac{34}{55} - \frac{89}{144} - \cdots$
同样地,分子可以表示为 $a_n = -F_{n}$,即第 $n$ 个斐波那契数的相反数;分母仍然是 $b_n = F_{n+2}$,即第 $n+2$ 个斐波那契数。所以,负数项的数列可以表示为:
$-\sum\limits_{n=0}^{\infty} \frac{F_{n}}{F_{n+2}}$
将两个数列相加,可以得到原始数列的公式:
$\frac{1}{2} - \frac{2}{3} + \frac{3}{5} - \frac{5}{8} + \frac{8}{13} - \frac{13}{21} + \cdots$
将正数项和负数项的公式代入,可以得到:
$\begin{aligned} &\sum\limits_{n=0}^{19} \left(\frac{F_{n+1}}{F_{n+2}} - \frac{F_n}{F_{n+2}}\right) \\ =& \frac{F_1}{F_2} - \frac{F_0}{F_2} + \frac{F_2}{F_3} - \frac{F_1}{F_3} + \frac{F_3}{F_4} - \frac{F_2}{F_4} + \cdots + \frac{F_{20}}{F_{21}} - \frac{F_{19}}{F_{21}} \\ =& \frac{F_{21}}{F_{22}} - \frac{F_0}{F_{22}} \\ =& \frac{10946}{17711} - \frac{1}{17711} \\ =& \frac{10945}{17711} \approx 0.6180339887 \end{aligned}$
所以,这个数列的前20项之和约为 0.6180339887。
阅读全文