python中斐波那契数列的编程方法递归(python 递归斐波那契数列)
python做斐波那契数列。
直接创建一个类然后调用下面的def函数即可
#斐波那契数列
'''
第一位是1
第二位是1
第三位是2
公式位F(n)=f(n-1)+f(n-2)
'''
def get_Fibonacci_sequence(n):
'''输入n,遍历到第n位的斐波那契数列'''
a,b=0,1
if n=3:#即等于2 相当于1,2位特殊处理
for i in range(n-1):#操作次数是n-1,去除一次第一位的操作
c=a+b
a,b,=b,c
print(b)#这里选择先改变再输出,可以减少1次的循环
def get_Fibonacci_Num(n):
'''输入n,遍历到第n位的斐波那契数列的第n位数'''
a, b = 0, 1
if n = 3: # 即等于2 相当于1,2位特殊处理
for i in range(n - 1): # 操作次数是n-1,去除一次第一位的操作
c = a + b
a, b, = b, c
# 这里选择先改变再输出,可以减少1次的循环
return b
def get_Fibonacci_Num_recursion(n):
'''输入n,遍历到第n位的斐波那契数列的第n位数,递归实现'''
if n==1 or n==2:#特别注意,这里要用逻辑或判断,不能直接用或判断,
return 1
else:
return get_Fibonacci_Num_recursion(n-1)+get_Fibonacci_Num_recursion(n-2)
get_Fibonacci_sequence(11)
print(get_Fibonacci_Num(11))
print(get_Fibonacci_Num_recursion(11))
Python实现斐波那契数列的方法以及优化
斐波那契数列 ( 意大利语 :Successione di Fibonacci) 的定义 :
斐波那契数列由0和1开始,之后的每个斐波那契数就是由之前的两数相加而得出。具体数值如下:
0,1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610,..............
特别注意 :F(0)代表的是第一个数值,数列下标由0开始。
代码如上,用了迭代的算法计算每个数值,每个N值最大运行N-1次循环,算法比递归要高效很多。递归代码如下:
Python编程题9--斐波那契数列
请求出符合斐波那契数列规律的第11项。
注意: 递归方式实现起来比较简洁,但其效率较低,不推荐。
请求出符合斐波那契数列规律的前11项。
对于斐波那契数列:1、1、2、3、5、8、13、……。我们把其数列中的数称为斐波那契数(Fibonacci数)。
如果给定一个数N,需要让其变为一个Fibonacci数,每一步可以把当前数字N变为N-1或者N+1,那么请求出最少需要多少步,才可以把N变为Fibonacci数。
python递归求斐波那契数列前10项
你好,很高兴为你解答。根据斐波那契数列F(n)=F(n-1)+F(n-2),当n=1和n=2时,F(n)=1,可以利用函数+if分支结构编写递归程序,求出斐波那契数列前10项。具体代码如下: