• 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!
  • 相关阅读:
    Linux安装.net core
    在IIS中如何配置SSL(https)
    Lambda的前世今生
    Java建造者模式
    leetcode 83 Remove Duplicates from Sorted List
    【设计】Office
    【设计】简书品牌重构
    【设计总结】
    【交互设计】
    【设计总结】
  • 原文地址:https://www.cnblogs.com/noonjuan/p/10851444.html
Copyright © 2020-2023  润新知