有一个Fabonacci 数列:1 1 2 3 5 8 13 21 34 …,求出这个数列的前20项之和。
时间: 2023-07-16 10:16:05 浏览: 63
这是一个很经典的数学问题。Fabonacci 数列的前两项是1,之后每一项都是前两项之和。因此,这个数列的前20项可以使用代码来计算:
```python
# 初始化前两项
a, b = 1, 1
# 初始化和为0
sum = 0
# 计算前20项并累加和
for i in range(20):
# 输出当前项
print(a)
# 累加和
sum += a
# 更新前两项
a, b = b, a+b
# 输出前20项之和
print("前20项之和为:", sum)
```
这段代码输出前20项的值,并计算它们的和,输出结果如下:
```
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
前20项之和为: 17710
```
因此,Fabonacci 数列的前20项之和为17710。
相关问题
用c语言编写Fabonacci 数列:1 1 2 3 5 8 13 21 34 …,求出这个数列的前20项之和。
以下是使用 C 语言编写的 Fabonacci 数列前20项之和的代码:
```c
#include <stdio.h>
int main() {
int n = 20;
int i, sum = 0;
int a = 1, b = 1, c;
sum += a + b;
for (i = 3; i <= n; i++) {
c = a + b;
sum += c;
a = b;
b = c;
}
printf("Fabonacci数列前20项之和为: %d\n", sum);
return 0;
}
```
运行结果为:
```
Fabonacci数列前20项之和为: 17710
```
编程求fabonacci数列1,1,2,3,5,8....的前20项,要求每行输出10个数
### 回答1:
这是一个编程问题,需要编写程序来生成Fabonacci数列前20项,并要求每行输出10个数。
以下是Python示例代码:
```python
a, b = 1, 1 # 初始化Fabonacci数列的前两个数
count = 0 # 计数器
while count < 20:
print(a, end=' ') # 输出当前数
count += 1 # 计数器自增
if count % 10 == 0:
# 每行输出10个数时换行
print()
# 计算下一个数
a, b = b, a + b
```
输出结果为:
```
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
```
### 回答2:
Fibonacci数列是一种非常经典的数列,它的前两项都是1,后面的每一项都是前两项的和。现在我们来用程序求解前20个Fibonacci数列的值,并且每行输出10个数。
我们可以使用Python语言编写程序来求解。具体步骤如下:
1. 首先定义两个变量a和b,分别初始化为1,因为前两项都是1。
2. 循环20次,每次先输出a的值,然后将a和b的值相加,再将b的值赋给a,将a的值赋给b。
3. 为了能够每行输出10个数,我们可以在每输出一个数之后判断一下当前输出的是第几个数,如果是第10个,那么就输出一个换行符。
4. 最后输出一个换行符,以便将最后一行的数据换行输出。
代码如下:
```
a = 1
b = 1
count = 0
for i in range(20):
print(a, end=' ')
count += 1
if count == 10:
print()
count = 0
a, b = b, a + b
print() # 输出一个换行符
```
这段程序的运行结果为:
```
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
```
可以看到,程序输出了前20个Fibonacci数列的值,并且每行输出了10个数。
### 回答3:
为了求Fabonacci数列的前20项,需要定义一个列表来存储数字序列,以及设置三个变量n1、n2和n3来表示数列中的前两个数字和计算下一个数字。代码如下:
```
# 定义列表来存储Fabonacci数列
fabonacci_seq = []
# 设置前两个数字
n1 = 1
n2 = 1
# 将前两个数字加入数列中
fabonacci_seq.append(n1)
fabonacci_seq.append(n2)
# 通过循环迭代计算出数列的前20项
for i in range(18):
n3 = n1 + n2
fabonacci_seq.append(n3)
n1 = n2
n2 = n3
# 输出Fabonacci数列,每行输出10个数
for i in range(0,20,10):
print(fabonacci_seq[i:i+10])
```
在上述代码中,首先定义一个空列表fabonacci_seq来存储计算出的Fabonacci数列。接下来,设置前两个数字n1和n2,并将它们添加到数列中。接着,通过循环迭代计算数列的前20项,每次计算都将新的数字n3加入数列中,然后将n1和n2的值更新为数列中的前两个数字。最后,使用range函数和切片操作将Fabonacci数列按照每10个数字分一行进行输出。
运行上述代码就能得到Fabonacci数列的前20项:
```
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
[89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
```
其中,每行输出10个数字,正好满足要求。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)