程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

多种方法在Python中输出斐波那契数列

hfteth 2024-12-27 17:34:50 技术文章 11 ℃

斐波那契数列是一个非常著名的整数序列,该序列在许多问题中出现。学习如何生成它是程序员掌握递归中必不可少的一步。在本教程中,学习斐波那契数列是什么以及如何使用Python生成它。

莱昂纳多·斐波那契是一位意大利数学家,斐波那契数列又称黄金分割数列,斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。

斐波那契数列如下所示:

0、1、1、2、3、5、8、13、21、34、……

使用递归算法生成斐波那契数列

生成斐波那契数列是一个经典的递归问题。递归是指自定义函数反复引用自身来解决问题。在函数调用中,问题会变小,直到能直接得到结果的进本情况,之后将结果返回,直到将最终结果。

生成斐波那契数列的递归算法要求编写一个递归函数,该函数根据需要多次调用自身,直到计算出所需的斐波那契数。

斐波那契数的序列Fn由递归关系定义:

Fn = Fn-1 + Fn-2

def f(n):
    if n in [0,1]:
        return n
    else:
        return f(n-1)+f(n-2)
for i in range(13):
    print(f(i)," ",end='')

#输出

0 1 1 2 3 5 8 13 21 34 55 89 144

使用迭代算法生成斐波那契数列

如果不使用递归输出斐波那契数列怎么办?实际上可以使用迭代算法来计算斐波那契数列。我们知道序列中的前两个数字是 0 和 1,并且序列中的每个后续数字都是其前两个数字的总和。因此,我们可以创建一个循环实现。

a=0
b=1
print(a,a+b," ",end='')
for i in range(3,13):
    t=b
    b=a+b
    a=t
    print(a+b," ",end='')

斐波那契数列可以使用迭代或递归方法生成。迭代方法依赖于 循环来计算序列中的下一个数字,递归方法自定义一个函数,该函数调用自身来计算序列中的下一个数字。

感谢您的阅读,关注我,精彩继续!

Tags:

最近发表
标签列表