python中使用递归实现斐波那契数列

python中使用递归实现斐波那契数列python中使用递归实现斐波那契数列python中使用递归实现斐波那契数列先来了解一下斐波那契数列(Fibonaccisequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(LeonardodaFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)在现代物理、

大家好,又见面了,我是你们的朋友全栈君。

python中使用递归实现斐波那契数列

python中使用递归实现斐波那契数列

先来了解一下

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n – 1)+F(n – 2)(n ≥ 2,n ∈ N)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。*

使用递归返回前n项的斐波那契数列:

func_1(n-2)+func_1(n-1)此代码为本节代码的主要代码

def func_1(n):
if n == 0:
return 0
elif n == 1 or n == 2:
return 1
else:
return func_1(n-2)+func_1(n-1)
假设n取4
return func_1(2)+func_1(3)
func_1(2)带入函数则返回1,func_1(3)带入函数则返回 func_1(3-2)+func_1(3-1)即为 func_1(1)+func_1(2) ,带入函数为1+1 所以得出结论func_1(4) =func_1(2)+func_1(3)=func_1(2)+func_1(1)+func_1(2)=3


刚才的递推函数只能返回第n各值,要想返回前n项值,得在外围建个函数将得出的值一一添加进去

代码实现:
def func(a):
def func_1(n):
if n == 0:
return 0
elif n == 1 or n == 2:
return 1
else:
return func_1(n-2)+func_1(n-1)
list_1 = []
for i in range(a):
list_1.append(func_1(i))
return list_1

print(func(20))
在这里插入图片描述

祝大家Python学习顺利!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148834.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • django3.0异步_定时任务框架

    django3.0异步_定时任务框架celery介绍Celery是由Python开发、简单、灵活、可靠的分布式任务队列,是一个处理异步任务的框架,其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务。Celery侧重

  • 函数的极限定义

    函数的极限定义函数的极限情况情况1:自变量x任意地接近于有限值x0,记作x->x0时,函数f(x)的变化情况;情况2:自变量x的绝对值|x|无限取向正无穷的时,函数f(x)的变化情况;然后明白下去心邻域:以x0这一点为中心的任何开区间——称为点x0的邻域。用符号表达为:U(x0)如果去掉x0这个点,那么就是去心邻域,用符号表达为:U’(x0)定义:|f(x)-A|<smallvalue,x无限趋向于x0这里的:smallvalue可以任意小,要多小有多小。A是一个常数。那么此时必

  • 网络爬虫必备知识之requests库

    1.requests库简介官方中文文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.htmlRequests是用P

    2021年12月29日
  • @transactional的使用_@transactional注解默认的回滚方式

    @transactional的使用_@transactional注解默认的回滚方式@Transactional是声明式事务管理编程中使用的注解1.添加位置1)接口实现类或接口实现方法上,而不是接口类中。2)访问权限:public的方法才起作用。@Transactional注解应该只被应用到public方法上,这是由SpringAOP的本质决定的。系统设计:将标签放置在需要进行事务管理的方法上,而不是放在所有接口实现类上:只读的接口就不需要事务管…

  • centos系统安装git

    centos系统安装gitcentos安装git

  • pageinfo 分页实现_分页显示

    pageinfo 分页实现_分页显示项目中有时候遇到list多种来源,不能使用PageInfo在查询数据库时分页,需要查询全部之后,手动分页。 //手动分页的分割起始下标IntegerfromIndex=0;//手动分页的分割结尾下标IntegertoIndex=0;Integertotal=arrayList.size();…

    2022年10月25日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号