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

2018-09-11  本文已影响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()
上一篇下一篇

猜你喜欢

热点阅读