python 裴伯拉切数列

裴伯拉切数列:从第三个元素开始,每个元素为该元素前面的两个元素的和。

裴伯拉切数列:0,1,1,2,3,5,8,13,21,34,55......

求出小于n的裴伯拉切数列。

复制代码
def fibo(n):
    if n < 0:
        print("n必须大于0")
    if n == 0:
        return None
    if n > 0:
        a, b = 0, 1
        while a < n:
            print(a, end=" ")
            a, b = b, b+a


if __name__ == "__main__":
    fibo(8)
复制代码
0 1 1 2 3 5 

 

通过递归也可以实现。

我们发现,f(0)=0,f(1)=1,f(2)=f(0)+f(1),f(3)=f(1)+f(2)......f(n)=f(n-2)+f(n-1)

1
2
3
4
5
6
7
8
9
def fibo(n):
    if n == 0 or n == 1:
        return n
    if n > 1:
        return fibo(n-2) + fibo(n-1)
 
 
if __name__ == "__main__":
    print(fibo(8))
1
 

  

posted on   青柠锦鲤  阅读(382)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示