斐波那契数列 Python

2023-07-28 20:22:43 浏览数 (3)

函数递归调用版本

代码语言:javascript复制
def fibonacci(n):
    if n==1 or n==2:
        return 1
    else:
        return fibonacci(n-1) fibonacci(n-2)
n=int(input())
print(fibonacci(n))

但这个能算的不大,算到第38个的时候就要等几秒钟了。

下面这个就能算了。第200个也秒出结果。

递推版本

代码语言:javascript复制
def fibonacci(n):
    if n==1 or n==2:
        return 1
    else:
        a=b=1
        for i in range(3,n 1):
            s=a b
            a=b
            b=s
        return s
n=int(input())
print(fibonacci(n))

0 人点赞