题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39。n=0,f(n)=0;n=1,f(n)=1;n>1,f(n)=f(n-1)+f(n-2)
思路
从底层往上层逐步累加
- first去保存上一个值
- last保存这次累加好的和
- 之后再去累加
- 执行n次
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
if n <= 0:
return 0
if n == 1:
return 1
first = 0
last = 1
sum1 = 0
while n > 1:
sum1 = first + last
first = last
last = sum1
n -= 1
return sum1
测试用例
if __name__=='__main__':
s=Solution()
n=4
print(s.Fibonacci(n))