10:斐波那切数列

对着背影说爱祢 提交于 2019-12-02 14:59:34

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39
n=0时,f(n)=0 n=1时,f(n)=1 n>1时,f(n)=f(n-1)+f(n-2)
法一:用循环较快

class Solution:
    def fib(self, x):
        if x<=0:
            return 0
        elif x ==1:
            return 1
        else:
            n, a, b = 0, 0, 1
            while n+1 != x:
                a, b = b, a + b
                n += 1
            return b
a = Solution()
b = a.fib(4)
print(b)

法二:用递归,较慢

class Solution:
    def fib(self, x):
        if x<= 0:
            return 0
        elif x==1:
            return 1
        else:
            return self.fib(x-1)+self.fib(x-2)
a = Solution()
b = a.fib(4)
print(b)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!