1. 程式人生 > >實現斐波拉契的三種方法

實現斐波拉契的三種方法

實現斐波拉契的三種方法:
方法一:遞迴方法

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