专栏首页红芽技术Python第二十三课:递归斐波那契

Python第二十三课:递归斐波那契

斐波那契(fibonacci) 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: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起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

斐波那契(fibonacci)应用 蒙拉丽莎的微笑

Python第二十三课:递归斐波那契

斐波那契(fibonacci)数列代码实例 Python第二十三课:递归斐波那契

假设兔子在2个月之后就有了繁殖能力,每个月可以产下一对兔子,如果不考虑死亡的售后,一年后他们总共有多少对兔子。

迭代 def tuzidd(n):

n1 = 1 #第一个月是1
n2 = 1 #第二个月还是1
n3 = 1 #第三个月默认是一
if n < 1:
    print('输入有误')
    return -1
while (n-2)>0:
    n3 = n2 + n1
    print(n3,n2,n1)
    #2 1 1
    #3 2 1
    #5 3 2
    #5
    n1 = n2
    n2 = n3
    n -= 1
return n3

print(tuzidd(5)) 其实一开始是不理解的,后面在代码中布置了print,来判断每一次的结果,后面就看得比较明显了。右边赋值给左边

递归

递归计算20个月的兔子数量

def tuzi(n):

if n==1 or n ==2:
    return 1
elif n >2:
    return tuzi(n -2) + tuzi(n -1)

print(tuzi(12)) 分治算法 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL online create index实现原理

    引言 国内较多的互联网公司都是采用MySQL作为数据库系统,随着业务的发展,难免会碰到需要新建索引来优化某些SQL执行性能的情况。在MySQL实现online ...

    红芽
  • Python3基础:集合的使用

    a = {1:12,2:12,3:13,4:14,5:15,6:16} b = {1,2,3,4,5,6} print(type(a),type(b)) # <...

    红芽
  • python小工具,通讯录小程序

    print('|---欢迎进入红芽技术通讯录程序---|') print('|---1:查询联系人资料---|') print('|---2:增加新的联系人--...

    红芽
  • python reduce/map/filter函数区别

    python 中 reduce / map / filter 三个函数很容易搞混淆,虽然利用函数对迭代器或者序列中的元素操作,但是适用的场景却各不相同;

    猿说编程[Python和C]
  • 【必收】精心整理!小程序开发资源汇总(附带源码)

    很多小伙伴想在春节放假期间学小程序,但是小程序学习的资源和教程可能不太好找。所以小助手精心整理了一期,全是干货!认真学,开启美妙的小程序开发之旅,做一个属于自己...

    腾讯云开发TCB
  • 深度学习与神经网络:单层感知机应用(二分类)

    因为单层感知器的特性适合于做分类问题,借这个例子我们去实际体会下单层感知器的二分类问题:

    云时之间
  • 深度学习与神经网络:单层感知机应用(二分类)

    因为单层感知器的特性适合于做分类问题,借这个例子我们去实际体会下单层感知器的二分类问题: 比如这样一组数据集: X =[ -9,  1, -12, -4,  ...

    云时之间
  • 前沿 | 脑波打字,皮肤听觉:Facebook 展示全新人机交互技术

    选自The Verge 机器之心编译 参与:李泽南、晏奇 在刚刚结束的 F8 开发者大会上,Facebook 揭秘了 Building 8 研究部门的两项全新...

    机器之心
  • eclipse自定义工具栏

    有很多朋友,可能刚下载的eclipse很烦恼,因为界面太不舒服了,这里有自定义eclipse工具栏的方法,可以一看!

    浩Coding
  • 刚刚,腾讯发布财报,三次提及智慧零售

    刚刚,腾讯公布2018年第一季度综合业绩。报告显示,微信及WeChat合并月活跃账户达10.4亿,同比增长10.9%。受支付解决方案业务、相关金融服务以及云服...

    腾讯云智慧零售

扫码关注云+社区

领取腾讯云代金券