码迷,mamicode.com
首页 > 编程语言 > 详细

斐波那契数列的Python实现

时间:2019-04-30 11:01:44      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:斐波那契数   斐波那契   pytho   yield   生成器   python实现   splay   数列   斐波那契数列   

? 斐波那契数列的Python实现:递归实现、非递归实现、斐波那契数列生成器;
\[ \begin{equation} F(n)= \begin{cases} n & n=0, 1\F(n-1) + F(n-2) & n > 1 \end{cases} \end{equation} \]


递归实现:

# python
def fib(n):
    if n <= 1:
        return n
    else:
        return fib(n-1) + fib(n-2)

非递归实现:

# python
def fib(n):
    if n <= 1:
        return n
    else:
        f1, f2, c = 0, 1, 0
        for i range(n-1):
            c = f1 + f2
            f1, f2 = f2, c
        return c

斐波那契数列生成器:

# python
def fib(n):
    a, b, iter = 1, 0, -1
    while iter < n:
        yield b
       # print(b)
        a, b = b, a+b
        iter += 1
for f in fib(10):
    print(f)

斐波那契数列的Python实现

标签:斐波那契数   斐波那契   pytho   yield   生成器   python实现   splay   数列   斐波那契数列   

原文地址:https://www.cnblogs.com/chenzhen0530/p/10794528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!