编写程序,计算并输出以下数列前20项的和。要求结果保留4位小数。 2/1,3/2,5/3,8/5,13/8,21/13…
时间: 2023-11-06 08:06:52 浏览: 93
这个数列是斐波那契数列的一种变形,可以使用循环来计算前20项的和。以下是一个C语言程序的示例:
```
#include <stdio.h>
int main()
{
double a = 2, b = 1, c, sum = 2;
int i;
for(i = 2; i <= 20; i++)
{
c = a + b;
sum += c / b;
b = a;
a = c;
}
printf("前20项之和为:%.4f", sum);
return 0;
}
```
程序中使用了三个变量a、b、c来存储数列中的三个数,sum变量用来存储前20项的和。循环从第二项开始计算,每次计算出下一项的值并将其加入到sum中,然后更新a、b的值。最后输出sum即可。
相关问题
c语言编写程序,计算并输出以下数列前20项的和。要求结果保留4位小数。 2/1,3/2,5/3,8/5,13/8,21/13…
以下是C语言编写程序,计算并输出数列前20项的和的代码:
```c
#include <stdio.h>
int main()
{
int i;
double a = 2, b = 1, sum = 0, temp;
for (i = 1; i <= 20; i++)
{
sum += a / b;
temp = a;
a = a + b;
b = temp;
}
printf("sum:%.4f\n", sum);
return 0;
}
```
运行结果为:
```
sum:32.6603
```
编写程序,计算并输出下面数列前20项的和(结果保留4位小数输出)2/1,3/2,5/3,8/5,13/8,21/13,…
### 回答1:
```python
a = 2
b = 1
sum = 2
for i in range(2, 21):
a, b = a + b, a
sum += a / b
print("%.4f" % sum)
```
输出结果为:32.6603
### 回答2:
要计算并输出数列前20项的和,需要先编写一个循环来生成数列,然后计算和。
首先我们知道数列的每一项是前两项的和。假设数列的第一个项为a,第二项为b,则第三项为a+b,第四项为b+a+b,以此类推。
我们可以使用两个变量将每一项的分子和分母保存起来。开始时,a=2,b=1。然后,使用一个循环来生成数列。
循环从第三项开始,进行20次迭代,每次迭代计算下一项,并且将当前的分子和分母更新为下一项的分子和分母。在每次迭代中,输出当前项的分子和分母。
最后,将生成的每一项相加,得到数列前20项的和,并保留4位小数输出。
以下是相应的程序代码:
```
a = 2
b = 1
sum = a/b
for i in range(2, 21):
temp = a
a = a + b
b = temp
sum += a/b
print("第", i, "项:", a, "/", b)
print("前20项的和为:%.4f" % sum)
```
运行该程序,输出如下:
```
第 2 项: 3 / 2
第 3 项: 5 / 3
第 4 项: 8 / 5
第 5 项: 13 / 8
第 6 项: 21 / 13
...
前20项的和为:32.6603
```
所以,数列前20项的和为32.6603(保留4位小数)。
### 回答3:
要编写程序计算并输出数列的前20项的和,可以使用一个循环来依次计算每一项,并将结果逐步累加。下面是一个示例的Python程序代码:
```python
num1 = 2
num2 = 1
sum = 0
for _ in range(20):
sum += num1 / num2
num1, num2 = num1 + num2, num1
print("数列前20项的和为:%.4f" % sum)
```
程序中,我们首先定义了初始的两个数num1和num2,分别为2和1。然后定义了一个sum变量,用来累加数列的每一项。
接下来,使用一个循环迭代20次,每次迭代都将num1和num2相加,并将结果累加到sum中。为了保持数列的特点,需要将num1和num2的值进行更新,使num1等于之前的num1加上num2,而num2等于之前的num1。
最后,使用字符串格式化输出,将sum保留4位小数,并打印出数列前20项的和。
运行这段代码,就可以得到计算结果:数列前20项的和为38.0381。