时间:2021-05-22
今天我们来使用Python实现递归算法求指定位数的斐波那契数列
首先我们得知道斐波那契数列是什么?
其次我们再来看递归算法是什么?
递归就是如果函数(子程序)包含了对其自身的调用,该函数就是递归的
话不多说上案例:
第一种方法:不使用递归算法
#首先定义一个新的列表来储存最后的结果new_list = []# 然后让用户输入指定位数my_put = int(input("请输入使用递归算法求指定位数的斐波那契数列的位数: "))# 利用for循环来遍历数组for idx in range(my_put): # 利用if判断第使得第一位和第二位都为1 if idx == 0: new_list.append(1) elif idx == 1: new_list.append(1) # 第三次的时候 当idx等于二的时候 然后第三项的话 应该的是第一项和第二项的和第一项的索引是0 第二项的索引是1 #但是上面if判断以后 下面从idx为二的时候开始 # 所以应该是索引为idx-2和索引为idx-1的相加得出第三项 else: new_list.append(new_list[idx - 2] + new_list[idx - 1])# 最后输出最后的数列print(new_list)第二种方法:使用递归算法
def get_num(n): # 获取斐波拉契数列中第n个数字的值 if n == 1 or n == 2: return 1 return get_num(n - 1) + get_num(n - 2)# 把获取的斐波拉契数字存放到列表中nums = []for i in range(1, 9): nums.append(get_num(i)) # get_num获得一个斐波拉契数字print(nums)两种方法最后的运行结果都为:
请输入使用递归算法求指定位数的斐波那契数列的位数: 9
[1, 1, 2, 3, 5, 8, 13, 21, 34]
总结
到此这篇关于利用Python实现斐波那契数列的文章就介绍到这了,更多相关Python实现斐波那契数列内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php求斐波那契数的两种实现方式。分享给大家供大家参考,具体如下:斐波那契数,亦称之为斐波那契数列(意大利语:SuccessionediFibon
斐波那契数列(Fibonacci)最早由印度数学家Gopala提出,而第一个真正研究斐波那契数列的是意大利数学家LeonardoFibonacci,斐波那契数列
题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行//java编程:三种方法实现斐波那契数列//其一方法:publicclassDemo2{/
本文以一个简单的实例讲述了python实现斐波那契数列数列递归函数的方法,代码精简易懂。分享给大家供大家参考之用。主要函数代码如下:deffab(n):ifn=
斐波那契数列(Fibonaccisequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(LeonardodaFibonacci)以兔子繁殖为例子而引入