實現斐波拉契的三種方法
阿新 • • 發佈:2019-01-04
實現斐波拉契的三種方法:
方法一:遞迴方法
def fib_1(index):
if index <= 2:
return 1
else:
return fib_1(index-1) + fib_1(index-2)
if __name__ == "__main__":
print(fib_1(10))
結果如下:
55
方法二:遍歷
def fib_2(index): re_list = [] n, a, b = 0, 0, 1 while n < index: re_list.append(b) a, b = b, a+b n +=1 return re_list if __name__ == "__main__": print(fib_2(10))
結果如下:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
方法三:生成器
def fib_3(index):
n, a, b = 0, 0, 1
while n < index:
yield b
a, b = b, a+b
n += 1
if __name__ == "__main__":
for item in fib_3(10):
print(item, end=" ")
結果如下:
1 1 2 3 5 8 13 21 34 55