编写一个名为fibonacci 的函数,接受一个整数n.返回第n个斐波那契数。 斐波那契数列定义为:F(0)=0.F(1)=1.F(n)=F(n-l)+F(n-2)。 使用递归实现函数,并测试 fibonacci 函数是否返回正确的斐波那契数。
时间: 2024-11-25 22:11:46 浏览: 17
Fibonacci.m:给定一个整数 n,返回第 n 个斐波那契数。-matlab开发
在Python中,你可以编写一个名为`fibonacci`的递归函数来计算斐波那契数。这个函数的基本思想就是按照定义的公式,如果n为0或1,则直接返回n;否则,返回前两个斐波那契数之和。
这是一个简单的实现示例:
```python
def fibonacci(n):
if n <= 0:
return "Invalid input! Please enter a positive integer."
elif n == 1 or n == 0:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
# 测试函数
print(fibonacci(0)) # 输出: 0
print(fibonacci(1)) # 输出: 1
print(fibonacci(5)) # 输出: 5 (因为 F(5) = F(4) + F(3))
```
然而,需要注意的是,当n变得非常大时,递归的方式会很慢,因为它会重复计算许多相同的值。对于大规模的n,使用动态规划或者其他非递归算法更为高效。
阅读全文