斐波那契数列python递归,用递归函数求斐波那契数列Python

  斐波那契数列python递归,用递归函数求斐波那契数列Python

  主题1

  已知的序列有1,1,2,3,5,8,13,…。定律从第三项开始,每项等于前两项之和。这个数列就是斐波那契数列。

  需要斐波那契数列规律的第11项。

  代码实现-非递归

  effib_show(n):

  a,b=0,1

  而n 0:

  a,b=b,a b

  n -=1

  返回a

  Print (Fib _ show (11))斐波那契数列的第11项:{} 。格式)

  代码实现-递归

  effib_recursive(n):

  如果n==1或n==2:

  1次返回

  returnfib _递归(n-1)fib _递归(n-2 ) fib _递归

  Print (Fib _ recursive (11)),斐波那契数列第11项:{} 。格式)

  主题2

  需要符合斐波纳契数列法则的前11项。

  代码实现1

  effib_show(n):

  a,b=0,1

  而n 0:

  如果n==1:

  打印(b)是

  否则:

  Print (b,end=,)

  a,b=b,a b

  n -=1

  FIB_show(11)).

  代码实现2

  effib_show(n):

  如果n==1:

  返回“1”

  如果n==2:

  返回 1,1

  RES=[ 1,1 ]

  forIinrange(2,n):

  RES.append(RES(-1 ) RES(-2)).

  返回“,”。join([str(I) for i in res]

  Print(斐波那契数列的前11项:{} 。format) fib_show(11))

  主题3

  对于斐波那契数列,1,1,2,3,5,8,13,这个数列中的数字叫做斐波那契数。

  如果给定一个数n,它一定是一个斐波那契数。在每一步中,当前数目N可以改变为N-1或N-1。把n转换成斐波那契数需要几个步骤?

  例如:

  如果给定一个公式15,与之相邻的两个斐波那契数分别是13和21,那么这个公式15变成13需要两步,变成21需要六步,所以这里至少需要两步。

  实现这个想法

  找出与指定数字相邻的两个斐波那契数:分别是A和B。

  找出指定的数字以及A和B之间分别向左和向右移动的距离

  比较left_step和right_step时,最小值是所需的最小步数。

  代码实现

  deffib_step(数字) :

  a,b=0,1

  最小步长=0

  虽然正确:

  当#b大于输入数num时,A是最后一个周期的B,此时A必须小于num。

  如果num=a且num=b:

  left_step=num - a

  右_步=b -数

  如果左移右移:

  最小步长=向左步长

  否则:

  最小步长=最大步长

  布莱克

  a,b=b,a b

  返回最小步长

  至少)步(。需要format(FIB_step(15))来将print(15)更改为Fibonacci数。

  翻译:https://www.cnblogs.com/wintest/p/13768793.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: