使用递归函数实现斐波
时间: 2023-07-11 21:06:40 浏览: 65
以下是使用递归函数实现斐波那契数列的 Python 代码:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试代码
for i in range(10):
print(fibonacci(i))
```
这里定义了一个名为 `fibonacci` 的函数,接收一个整数 `n` 作为参数,返回第 `n` 个斐波那契数。如果 `n` 小于等于 1,直接返回 `n`;否则,递归地调用 `fibonacci(n-1)` 和 `fibonacci(n-2)`,并将它们的和作为结果返回。最后使用一个循环测试了前 10 个斐波那契数。
相关问题
python递归实现斐波
Python递归实现斐波那契数列的代码如下:
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
```
这段代码中,`fibonacci`函数接受一个整数参数`n`,并返回斐波那契数列的第`n`个数。当`n`小于等于0时,返回0;当`n`等于1时,返回1;否则,递归调用`fibonacci(n-1)`和`fibonacci(n-2)`来计算第`n`个数。
注意,递归实现斐波那契数列在计算较大的数时效率较低,因为会重复计算相同的子问题。可以使用动态规划或迭代的方式来提高效率。
使用递归函数实现快速排序
可以使用以下递归函数实现n的k次方:
def power(n, k):
if k == 0:
return 1
elif k % 2 == 0:
return power(n, k/2) * power(n, k/2)
else:
return n * power(n, k-1)
这个函数首先检查k是否为0,如果是,则返回1。如果k是偶数,则将问题分解为计算n的k/2次方的平方。如果k是奇数,则将问题分解为计算n的k-1次方并乘以n。这个递归过程将一直进行,直到k减少到0,然后返回1。