zoukankan      html  css  js  c++  java
  • fibonacci数列

    # -*- coding:utf-8 -*-
    # author : Keekuun
    
    """
    斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,
    故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34...
    """
    
    # 使用迭代器
    def fibo1(max):
        n, a, b = 0, 0, 1
        while n < max:
            yield b
            # print(b)
            a, b = b, a + b
            n += 1
            
    for i in fibo1(9):
        print(i)
    print(fibo1(9))
    输出结果
    1
    1
    2
    3
    5
    8
    13
    21
    34
    <generator object fibo1 at 0x000001DCA02D11A8>
    
    Process finished with exit code 0
    

      使用递归算法如下:

    def fibo2(n):
        if n == 1:
            return [1]
        elif n == 2:
            return [1, 1]
        else:
            return fibo2(n - 1) + [fibo2(n - 1)[-1] + fibo2(n - 1)[-2]]
    
    print(fibo2(9))
    
    输出:
    [1, 1, 2, 3, 5, 8, 13, 21, 34]
    明月装饰了你的窗子,你装饰了他的梦。
  • 相关阅读:
    带你走进Ajax
    基础
    基础
    基础-文字
    C++ part6.5
    操作系统 part4
    操作系统 part3
    计算机网络 part3 HTTP&HTTPS
    计算机网络 part2
    计算机网络 part1 TCP
  • 原文地址:https://www.cnblogs.com/zkkysqs/p/9387606.html
Copyright © 2011-2022 走看看