使用递归算法输出斐波那契数列的前10项。定义函数实现
时间: 2024-05-10 12:21:13 浏览: 12
斐波那契数列的前10项为:0, 1, 1, 2, 3, 5, 8, 13, 21, 34。
下面是使用递归算法输出斐波那契数列的前10项的函数实现:
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
def print_fibonacci():
for i in range(10):
print(fibonacci(i), end=' ')
print()
print_fibonacci()
```
输出结果:
```
0 1 1 2 3 5 8 13 21 34
```
在上面的代码中,`fibonacci(n)` 函数使用递归算法计算斐波那契数列的第 `n` 项。如果 `n` 小于等于 0,则返回 0;如果 `n` 等于 1,则返回 1;否则,返回 `fibonacci(n-1) + fibonacci(n-2)`。这里利用了斐波那契数列的递推公式:$f_n = f_{n-1} + f_{n-2}$。
`print_fibonacci()` 函数用于输出斐波那契数列的前10项,即调用 `fibonacci(n)` 函数,`n` 分别从 0 到 9。
相关问题
使用递归算法实现斐波那契数列
斐波那契数列是指从0和1开始,后面每一项都是前两项的和,即0、1、1、2、3、5、8、13、21、34、……。
使用递归算法实现斐波那契数列的代码如下:
```
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
```
这个函数接受一个整数n作为输入,返回斐波那契数列的第n项。如果n等于0,返回0;如果n等于1,返回1;否则递归调用函数本身计算前两项的和。
需要注意的是,递归算法的效率较低,当n较大时,计算时间会很长。可以使用循环算法或者动态规划算法来提高效率。
python用递归算法求斐波那契数列的前40项
好的,这是 Python 代码实现:
```python
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
for i in range(1, 41):
print(fibonacci(i), end=' ')
```
这段代码中,`fibonacci(n)` 函数使用递归算法求解斐波那契数列第 n 项的值。当 n 等于 1 或 2 时,返回 1;否则返回前两项的和。然后使用 `for` 循环遍历前 40 项并输出结果。