用递归函数求斐波那契数列Python,递归函数求斐波那契数列python
目录1。递归方法:2。鲤鱼御街系列介绍:特点一:特点二:两种方法运行时间对比:
3358www。Sina.com/.递归法:/ 递归法是逐步分解,直到可以解决一个简单的问题。
通常与直接或间接的杠用本身有关。
例如,计算列表中元素的总和(1,3,5,7,9,13)。
或者直接使用sum(调用函数本身:
python的实现如下。
在[1]
Listsum (a): iflen (a) a)==1:返回a [0] #如果列表中只有一个元素,那么a [0] else:返回a [0] listsum) a [a]
Out[2]:
38 `
/二。御鲤姐姐的序列介绍:/ 御鲤姐姐的序列是最常见的问题,也称为‘兔序列/黄金分割序列’。
/
1
任何数字都是前两个数的和。
例如:
所以计算鲤鱼姐姐序列的第一种方法是将number列的最后两个元素相加得到一个新的数,插入到序列的末尾。
姊妹鲤的基质溶液;
特性一:
2
在极限条件下,两个相邻元素的商等于一个常数。换句话说
特性二:
第一个:
通过设置数组。
a=[ 0,1 ]
下一个要插入的数据是“A [-1] A [-2]”。
append(a(-1 ) a(-2))).
继续循环。循环y次可以得到y个新号码。
最后,鲤鱼姐姐序列中的数字个数为n=y ^ 2。
周期数y可以由用户期望的鲤鱼姐妹数的数目n来定义。
y=n - 2
输入[1]:
定义deffibS1(n): # carp的姐妹函数a=[0] #。#声明A是数组如果n=0: print ("error ")。#n Impossible=0eelse: ifn1: a=[0,1] foriinrange)),0eelse: ifn13: a,即n-2个鲤鱼姐妹号a .在数组a中追加(a(-2))。
FIBS1(10)输出[2]:
[ 0,1,1,2,3,5,8,13,21,34 ]
第二个:
预先定义数组中元素的个数,将它们各自的值设置为前两个数之和。
输入[1]:
deffibs2(n)中所需的carp姐妹数:#n) n f=[0] * n #定义了一个n个零的数组,如果n=0: print ("error ")。(n=0 else 3360 IFN=2:f)1)=1 # 1)for iinrange(2,n):f)I)=f(I-1)f)I-2)“”f(2)=f)1)三个鲤鱼姐妹的个数f [3]四个鲤鱼姐妹的个数f[n-1]=f[n-2]f[n-1];鲤鱼n号回车f输入[2]:
光纤2 (10)输出[2]:
[ 0,1,1,2,3,5,8,13,21,34 ]
3
4
输入[1]:
% timeitfibers 1(100)timeitfibers 2)100)Output[1]:26.2 s736 nsperloop(表示7次运行的td.dev,每次运行10000个循环)30
通过将复杂的计算过程封装并保存在一个函数中,可以避免编写重复的代码。只需要在需要重新计算的时候打电话。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。