Fibonacci数列的两种实现方式

斐波那契数列的形式为:1,1,2,3,5,8,13,21......从第三项开始,后面的每一项都是前面两项的和。

实现的方式有一下 两种:

一:递归方式实现

def fib(n):
    if n <1:
        print('数值错误!')
        return -1
    if n ==1 or n ==2:
        return 1
    return fib(n-1) + fib(n-2)
f = fib(10)
print(f)

当然这种方式的输出为55,是直接计算出某一项的数值的。

二:简单的赋值语句逻辑实现

def fib(max):
    n,a,b = 0,0,1
    while n < max:
        print(b)
        a,b = b,a+b
        n += 1
fib(10)

这种方式输出为:1,1,2,3,5,8,13,21,34,55。可以看到中间值,当然也可以在while结束后只返回最终值。

 

posted on 2018-03-31 14:55  江湖乄夜雨  阅读(274)  评论(0编辑  收藏  举报