本文主要是介绍【Python小练】求斐波那契数列第n个数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
输出斐波那契数列第n个数。
分析
首先我们要知道,斐波那契数列,这个数列从第三位开始等于前两个数的和,要知道数列第n个数(n>2),就要知道其前两相的值,着就需要用到递归了。来看一下吧
Python代码
def fibibacci(n):if n == 0: # 递归结束条件1return 0 elif n == 1: # 递归结束条件2return 1elif n >= 2:return fibibacci(n-1) + fibibacci(n-2) # 递归a = int(input("想知道斐波那契数列第几个数:"))
print(fibibacci(a))
总结
递归是指在函数的定义中使用函数自身的方法。为什么能达到递归效果?这跟我们计算机执行程序有关了,计算机会将我们要执行的程序入栈,将fibibacci(n)入栈,但是遇到递归,他发现要执行fibibacci(n)要知道fibibacci(n-1)和fibibacci(n-2),要执行fibibacci(n-1)和fibibacci(n-2)要知道fibibacci(n-3)fibibacci(n-4),直到fibibacci(n)中n变为0和1时就明确了,fibibacci(0),fibibacci(1)可以直接执行出栈得到结果,让然后又倒回去挨个出栈取结果,最终得到fibibacci(n)。(若解释有错误或误导的地方,请各位大佬批评指正)
这篇关于【Python小练】求斐波那契数列第n个数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!