用递归求斐波那契数列c
时间: 2023-04-09 11:01:31 浏览: 102
可以使用递归来求解斐波那契数列,代码如下:
```
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
```
其中,n表示第n个斐波那契数,返回值为该数的值。
相关问题
用非递归的函数调用形式求斐波那契数列第n项
可以使用循环来实现非递归的函数调用形式求斐波那契数列第n项。
具体实现方法如下:
1. 定义两个变量a和b,分别表示斐波那契数列的前两项。
2. 判断n的值,如果n小于等于1,则直接返回n。
3. 如果n大于1,则使用循环计算斐波那契数列的第n项,每次循环将a和b的值更新为下一项的值。
4. 循环结束后,返回b的值即可。
代码如下:
```
def fibonacci(n):
if n <= 1:
return n
else:
a, b = , 1
for i in range(2, n+1):
a, b = b, a+b
return b
```
例如,调用fibonacci(6)会返回8,因为斐波那契数列的第6项是8。
编写递归函数Fibonacci,输出Fibonacci数列的前20项。Fibonacci数列的计算方法是:
Fibonacci数列是指从0,1开始,后一项是前两项之和,即:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181...
可以使用递归函数来实现,代码如下:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 输出前20项
for i in range(20):
print(fibonacci(i))
```
输出结果:
```
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
```
阅读全文