美文网首页
Python实现斐波那契数列的几种方法

Python实现斐波那契数列的几种方法

作者: 暖遇 | 来源:发表于2018-09-11 16:46 被阅读0次

接下来我们用下面几种方法实现斐波那契数列的数列,有的效率相对于低一点,有的效率相对于高一点,接下来,赶紧看一下代码吧。

方法一:最常用的方法

迭代器

def fib(index):
if index<2:
return 1
return fib(index-1)+fib(index-2)

方法二:用生成器的方法
def gen_fib(index):
n,a,b=0,0,1

while n<index:
    yield b
    a,b=b,a+b
    n+=1

gen_fib(5)

方法三:自定义迭代器实现
class Fib(object):
def init(self,max):
self.x=0
self.y=1
self.max=max

def __iter__(self):
    return self

def __next__(self):
    n_next=self.y
    self.x,self,y=self.y,self.x+self.y
    if self.max>self.x:
         return n_next
    else:
         raise StopIteration()

相关文章

网友评论

      本文标题:Python实现斐波那契数列的几种方法

      本文链接:https://www.haomeiwen.com/subject/cgbugftx.html