美文网首页
斐波那契数列

斐波那契数列

作者: 简单可靠才可信 | 来源:发表于2020-02-07 14:24 被阅读0次

    方法一:不导入任何帮助模块计算数列

    FIB = [1]
    def fib(n):
        """1 1 2 3 5 8 13 21 34 55"""
        if len(FIB) >= n: return FIB[n - 1]
        return n if n < 2 else (fib(n - 1) + fib(n - 2))
    
    
    def cache_fib(n):
        fl = len(FIB)
        if fl < n:
            for i in range(fl + 1, n + 1):
                FIB.append(fib(i))
        return FIB[n - 1]
    

    方法二:导入functools模块下的lru_cache方法计算数列

    from functools import lru_cache
    @lru_cache(maxsize=None)
    def fib(n):
        """0 1 1 2 3 5 8 13 21 34 55"""
        return n if n < 2 else fib(n-1) + fib(n-2)
    

    相关文章

      网友评论

          本文标题:斐波那契数列

          本文链接:https://www.haomeiwen.com/subject/nmmmxhtx.html