python3 实现斐波那契数列

从0 1 1 2 3 5 开始

1 递归

# -*- coding:utf-8 -*-
class Solution:
    def Fibonacci(self, n):
        # write code here
        if n==0:
            return 0
        elif n==1:
            return 1
        else:
            return self.Fibonacci(n-1) + self.Fibonacci(n-2)
s = Solution()
print(s.Fibonacci(30))

递归时间消耗太大

2  循环

# -*- coding:utf-8 -*-
class Solution:
    def Fibonacci(self, n):
        # write code here
        fib = [0,1]
        for i in range(2,n+1):
            fib.append(fib[i-1]+fib[i-2])
        return fib[n]
n = int(raw_input())
s = Solution()
print(s.Fibonacci(n))

猜你喜欢

转载自blog.csdn.net/ustbbsy/article/details/81984329