非递归输出斐波那契数列编程计算第n个数
时间: 2023-05-24 13:04:55 浏览: 94
使用python求斐波那契数列中第n个数的值示例代码
5星 · 资源好评率100%
以下是Python代码实现:
```python
def fibonacci(n):
if n <= 0:
return None
elif n == 1 or n == 2:
return 1
prev, curr = 1, 1
for i in range(3, n + 1):
curr, prev = curr + prev, curr
return curr
n = int(input("输入n: "))
result = fibonacci(n)
if result is None:
print("输入的n必须大于0")
else:
print("第{}个斐波那契数是{}".format(n, result))
```
首先判断$n$是否小于等于0,是的话返回None;然后判断$n$是否为1或2,是的话返回1。接着进行非递归计算:定义prev和curr分别代表前一个数和当前数,初始值都为1。循环从3到$n$,每次更新curr和prev的值,最后curr即为第$n$个斐波那契数。最后根据结果是否为None进行输出。
阅读全文