用递归和非递归两种方法分别求出第m项的斐波那契数并且输出。不要使用数组
时间: 2024-09-30 09:02:15 浏览: 0
斐波那契数列是一个经典的递归序列,其前两项通常是0和1,后续每一项都等于前两项之和。下面是用递归和非递归方法求解第m项斐波那契数的例子:
**递归方法**:
```python
def fibonacci_recursive(m):
if m <= 0:
return "输入错误,斐波那契数列从第1项开始"
elif m == 1:
return 0
elif m == 2:
return 1
else:
return fibonacci_recursive(m-1) + fibonacci_recursive(m-2)
# 调用函数并输出第m项斐波那契数
m = int(input("请输入要查询的斐波那契数列项数:"))
result = fibonacci_recursive(m)
print(f"第{m}项的斐波那契数是:{result}")
```
**非递归方法(动态规划)**:
```python
def fibonacci_iterative(m):
if m <= 0:
return "输入错误,斐波那契数列从第1项开始"
a, b = 0, 1
for _ in range(1, m):
a, b = b, a + b
return b
# 调用函数并输出第m项斐波那契数
m = int(input("请输入要查询的斐波那契数列项数:"))
result = fibonacci_iterative(m)
print(f"第{m}项的斐波那契数是:{result}")
```