分别用递归函数和非递归函数的形式实现:输入两个1至10000之间的正整数,输出这两个数之间的所有Fibonacci数列。提示:Fibonacci数列为1,1,2,3,5,8,13,21……
时间: 2024-05-02 21:20:31 浏览: 19
好的,我可以回答你关于Fibonacci数列的问题。以下是递归和非递归函数的实现方式:
递归函数实现:
```python
def fibonacci_recursive(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
def fibonacci_series_recursive(m, n):
if m > n:
return
else:
print(fibonacci_recursive(m))
fibonacci_series_recursive(m+1, n)
```
非递归函数实现:
```python
def fibonacci_series_iterative(m, n):
a, b = 1, 1
while a <= n:
if m <= a:
print(a)
a, b = b, a+b
```
你可以输入两个1至10000之间的正整数,然后调用以下函数进行测试:
```python
m = int(input("输入第一个正整数: "))
n = int(input("输入第二个正整数: "))
print("递归函数实现的Fibonacci数列:")
fibonacci_series_recursive(m, n)
print("非递归函数实现的Fibonacci数列:")
fibonacci_series_iterative(m, n)
```
希望这可以回答你的问题。