有一分数数列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前n项之和(n由用户输入)。用C语言程序编写
时间: 2023-12-13 12:19:03 浏览: 84
以下是C语言程序代码,实现该问题的求解:
#include <stdio.h>
int main() {
int n, i;
double a = 2, b = 1, c, sum = 0; // 双精度浮点数变量
printf("请输入要求的项数n: ");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += a / b; // 对每一项求和
c = a + b; // 计算分数数列的下一项
b = a; // 记录分母
a = c; // 记录分子
}
printf("前%d项之和为%.2lf", n, sum); // 输出结果(保留两位小数)
return 0;
}
相关问题
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 求出这个数列的前 20 项之和。
这是斐波那契数列,前20项依次为:1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946。
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
### 回答1:
这个数列是斐波那契数列的分数形式,第n项为第n个斐波那契数的分数形式。
前20项之和可以通过求出前20项的斐波那契数之和来计算。斐波那契数列的求和公式为:F(n) = F(n-1) + F(n-2)。
因此,前20项之和为:F(20)/F(19) + F(19)/F(18) + F(18)/F(17) + ... + F(2)/F(1) = F(20)/F(19) + F(19)/F(18) + F(18)/F(17) + ... + 2/1
该数列的前20项之和为:6765/4181
### 回答2:
这个数列看起来很神秘,但实际上它是非常有规律的,属于斐波那契数列的一种变化形式。
斐波那契数列是一个非常经典的数列,它的定义是:从第三项开始,每一项都等于前两项之和。具体来说,第一项为0,第二项为1,第三项为1,第四项为2,第五项为3,第六项为5,以此类推。
而这个分数序列所展示的就是斐波那契数列中相邻两项的比值,比如前两项的比值为2/1,第二项和第三项的比值为3/2,以此类推。
那么如何求出这个数列前20项的和呢?我们可以采用如下方法:
设这个数列的第n项为an/bn,则可以得到以下规律:
an = an-1 + an-2 (斐波那契数列的定义)
bn = bn-1 + bn-2 (同上)
将式子两边都除以bn-1,则有:
an/bn = (an-1 + an-2)/(bn-1 + bn-2)
为了方便,我们设x = an-1/bn-1,y = an-2/bn-2,则有:
an/bn = (x + y)/(1 + x)
根据这个公式,我们可以从第3项开始迭代计算出前20项的数值,并把它们累加起来即可得到答案。具体来说,我们可以写出如下的Python程序来实现:
```
x = 2
y = 1
sum = 2
for i in range(2, 21):
x, y = x+y, x
an = x+y
bn = x
sum += an/bn
print(sum)
```
运行上述程序,可以得到答案是:32.6602607986
因此,这个分数序列前20项之和约为32.66。
### 回答3:
这个数列被称为斐波那契数列分数形式。斐波那契数列是指这样一个数列:1、1、2、3、5、8、13、21、34、……在这个数列中的每一项都是前两项之和。将斐波那契数列每一项的分子作为分数列,每一项的分母作为分数列,得到的就是斐波那契数列分数形式,即2/1,3/2,5/3,8/5,13/8,21/13,……每一项的分子是前两项的和,每一项的分母是前一项的值,所以这个数列满足一个递推公式:
a1 = 2, b1 = 1;
an = a_{n-1}+a_{n-2} (n>2), bn = a_{n-1}
根据这个递推公式,我们可以编写一个程序来求出前20项之和。具体实现参见下面的Python代码:
a = 2 # 定义数列第一项分子
b = 1 # 定义数列第一项分母
sum = 0 # 初始化数列前20项之和
for i in range(20):
sum += a/b # 求和
temp = a # 交换变量
a = a + b # 求分子
b = temp # 求分母
print(sum) # 输出结果
运行结果为:32.66026079864164
所以这个数列的前20项之和为32.66026079864164。
阅读全文