编写递归函数求Fibonacci数列第n项的值,然后在主函数中调用该函数打印出该数列的前20项(不许使用数组)。
时间: 2024-09-10 07:08:31 浏览: 85
c代码-递归计算斐波那契函数前n项和
递归函数是一种自我调用的方式来解决问题的方法。对于Fibonacci数列,它的每一项都是前两项之和。以下是使用Python编写的一个递归函数来计算第n项Fibonacci数值,并在主函数中打印出前20项:
```python
def fibonacci(n):
if n <= 0:
return "输入错误,Fibonacci数列从1开始"
elif n == 1:
return 0
elif n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
def print_fibonacci_sequence(n=20):
for i in range(1, n+1):
result = fibonacci(i)
if isinstance(result, str):
print(result)
else:
print(f"Fibonacci({i}) = {result}")
print_fibonacci_sequence()
```
在这个例子中,`fibonacci`函数负责递归计算Fibonacci数列的每一项,而`print_fibonacci_sequence`则用于迭代调用并打印结果。需要注意的是,由于递归涉及大量重复计算,这种方法效率较低,当n较大时可能会有性能问题。
阅读全文