python实现斐波那契数列

一、递归形式

def fib(n):
    if n==0 or n==1:
        return n
    else:
        return fib(n-1) + fib(n-2)
if __name__ == '__main__':
    print fib(10)

二、非递归形式

def common(n):
    if n == 0 or n == 1:
        return n
    x, y = 0, 1
    for i in range(2, n+1):
        x, y = y, x + y
    return y

if __name__ == '__main__':
    print common(10)

两种实现方法运行结果一致,但是递归形式耗时较长,实际工作中应避免使用递归

你可能感兴趣的:(python实现斐波那契数列)