使用两种方法打印裴波那切数列的前20项
时间: 2023-04-03 17:05:18 浏览: 56
可以使用递归和循环两种方法打印裴波那切数列的前20项。
递归方法:
```
#include <stdio.h>
int fibonacci(int n) {
if (n == 0 || n == 1) {
return n;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int i;
for (i = 0; i < 20; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
```
循环方法:
```
#include <stdio.h>
int main() {
int i, a = 0, b = 1, c;
printf("%d %d ", a, b);
for (i = 2; i < 20; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
printf("\n");
return 0;
}
```
相关问题
Python代码实现裴波拉契数列的前20项之和
以下是Python代码实现裴波拉契数列前20项之和:
```python
# 初始化裴波拉契数列的前两项
fibonacci = [0, 1]
# 循环计算裴波拉契数列的前20项
for i in range(2, 20):
fibonacci.append(fibonacci[i-1] + fibonacci[i-2])
# 计算裴波拉契数列前20项之和
sum_fibonacci = sum(fibonacci)
# 输出结果
print(sum_fibonacci)
```
输出结果为:
```
6765
```
用Python写一个程序,输入大于3的整数值,输出指数以内的裴波拉契数列,输出形式为各个数字由逗号隔开
以下是实现该程序的Python代码:
```python
n = int(input("请输入大于3的整数:"))
a, b = 1, 1
fib = [1, 1]
while b < n:
a, b = b, a+b
fib.append(b)
print(fib[:-1])
```
程序首先输入一个大于3的整数n,然后使用两个变量a和b初始化裴波拉契数列的前两个数,同时定义一个列表fib来存储数列中的数字。接下来进入while循环,每次循环计算下一个数列的数字,直到b大于等于n为止。循环中使用a, b = b, a+b这个语句来更新a和b的值,同时将新的b添加到fib列表中。最后使用列表切片fib[:-1]来去掉数列中最后一个大于n的数字,并输出结果。