斐波那契数列:1 1 2 3 5 8 13 21 ……
使用迭代实现,仅仅使用3个变量

def fab(n):
    n1 = 1
    n2 = 2
    n3 = 1
    #错误
    if n < 1:
        return -1
    while n > 2:
        n3 = n1 + n2
        n1 = n2
        n2 = n3
        n -= 1
    return n3

使用递归(分治思想)实现,递归用栈实现,贼消耗内存,当n贼大的时候,电脑真的累!效率低,慎用!!!

def fab():
    if n < 1:
        retrun -1
    if n == 1 or n == 2:
        return 1
    else:
        retrun fab(n-1) + fab(n-2)
    return n3
posted on 2020-03-25 16:22  20199302  阅读(262)  评论(0)    收藏  举报