这篇文章是解析如何分别用迭代/递归实现斐波那契数列
斐波那契数列(黄金分割数列):自然数中从第3项开始,每一项都等于前两项之和
(1、1、2、3、5、8.....)
迭代实现如下图所示(解析在图的下方)
具体步骤:
创建一个名为【iterate()】的函数,n是用户输入的参数
由于斐波那契数列是从第【3】项开始,所以只有当n大于2才能开始
初始化三个变量【x,y,z】,它们的值都为1
循环开始后,将x和y的值相加赋给z,原来y和z的值赋给x和y,通过交换数值以此达成【每一项都等于前两项之和】
最后返回z(斐波那契数列的最后一个元素,最终值)
接下来让我们看一下如何使用递归的方式实现~
如下图所示(解析在图的下方)
具体步骤:
创建一个名为【recursion()】的函数,n是用户输入的参数
由于斐波那契数列是从第【3】项开始,所以当n为2/1的时候,返回值默认为1
利用斐波那契数列【每一项都等于前两项之和】的性质,故我们直接调用该函数的前两个函数不断循环找到最后的函数值,再依次返回相加即可
最后返回最终值
以上就是py分别用迭代/递归的方式实现斐波那契数列的具体步骤
希望这篇文章有帮助到各位读者!也欢迎在评论区交流看法!