zoukankan      html  css  js  c++  java
  • Python 斐波那契数列

    Fibonacci Sequence

    # fibonacci sequence 斐波那契数列
    
    def fibonacci_for(n):
        # 使用for循环返回n位斐波那契数列列表
        li = []
        for i in range(n+1):
            if i == 0 or i == 1:
                li.append(1)
            else:
                li.append(li[i-2] + li[i-1])
        return li
    
    def fibonacci_sequence(over, x=1, y=1):
        # 返回一个over值以内的斐波那契数列列表
        if x <= over:
            return [x] + fibonacci_sequence(over, y, x+y)
        else:
            return []
    
    def fibonacci_count(n, x=1, y=1, count=0):
        # 使用递归返回n位斐波那契数列列表
        if count <= n:
            count += 1
            return [x] + fibonacci_count(n, y, x+y, count)
        else:
            return []
    
    def fibonacci_index(index, x=1, y=1, count=0):
        # 使用递归返回index位置的斐波那契数值
        if count == index:
            return x
        else:
            count += 1
            return fibonacci_index(index, y, x+y, count)
    
    def fibonacci_short(x):
        # 极短版斐波那契数列
        if x < 2: return 1
        return fibonacci_short(x-2) + fibonacci_short(x-1)
    
    print(fibonacci_for(12))
    print(fibonacci_sequence(300))
    print(fibonacci_count(12))
    print(fibonacci_index(12))
    print(fibonacci_short(12))
    Resistance is Futile!
  • 相关阅读:
    Ubuntu下ClickHouse安装
    redis.conf配置详解(转)
    php使用sftp上传文件
    ubuntu下安装nginx1.11.10
    cookie和session的区别
    linux下Redis主从复制
    linux-ubuntu 安装配置Redis
    php的常量
    Ubuntu防火墙配置
    技术资料
  • 原文地址:https://www.cnblogs.com/noonjuan/p/10851444.html
Copyright © 2011-2022 走看看