原文地址:https://blog.csdn.net/lanchunhui/article/details/50569311 (如有侵权请联系删除)

数学上,斐波那契数列以递归的形式进行定义:

注意,递归的形式实现较为简单明了,当然在编程实践时,并不推荐递归的实现方式,因为存在大量的重复计算,斐波那契的优化实现不是本文的重点,如有兴趣,请参阅 每周一刷——从斐波那契数列到动态规划,本文重点探讨菲波那切数列与黄金分割比的关系。

维基百科中说菲波那切数列又叫黄金分割数列,这无疑是在告诉我们我们可以通过黄金分割的方式((√5−1)/2)生成出来一个菲波那切数列。

下面我们简单验证我们的判断:

def fib(n):return n if n <= 1 else fib(n-1)+fib(n-2)
N = 20
print([fib(n) for n in range(N)])[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]

int(55*(1+.618)+.5) == 89
int(2584*(1+.618)+.5) == 4181

indeed,诚哉斯言。

我们接着做如下的仿真:

def gold_fib(n):return n if n <=2 else int(gold_fib(n-1)*(1+.618))
print([gold_fib(n) for n in range(N)])[0, 1, 2, 3, 4, 6, 9, 14, 22, 35, 56, 90, 145, 234, 378, 611, 988, 1598, 2585, 4182]# 已经非常接近了,

通过初等代数方法,我们也可得出此解析解的形式,具体请参考 斐波那契数列;

def matrix_fib(n):return int(1/sqrt(5)*(((1+sqrt(5))/2)**n-((1-sqrt(5))/2)**n))print([matrix_fib(n) for n in range(N)])[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]    # 一模一样,不差分毫

斐波那契(fibonacci)数列与黄金分割比以及矩阵形式推导相关推荐

  1. 斐波那契数列在计算机的应用,斐波那契(Fibonacci)数列的几种计算机解法

    题目:斐波那契数列,又称黄金分割数列(F(n+1)/F(n)的极限是1:1.618,即黄金分割率),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.在数学上,斐波纳契数列以如下 ...

  2. 斐波那契(Fibonacci)数列计算器设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/85734538 资源下载地址:https://download.csdn.net/downl ...

  3. 计算机数列类型,斐波那契(Fibonacci)数列的几种计算机解法

    题目:斐波那契数列,又称黄金分割数列(F(n+1)/F(n)的极限是1:1.618,即黄金分割率),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.在数学上,斐波纳契数列以如下 ...

  4. 递归生成斐波那契Fibonacci数列——Python

    记录一下学习过程 递归生成斐波那契额数列的第n项 定义一个函数Fibonacci(n),它可以生成数列的第n个数,先不考虑是怎么生成的.斐波那契数列的每一项都是前两项的和,因此第 n 项可以由 n-1 ...

  5. 递归函数就兔子数C语言,【C语言】求斐波那契(Fibonacci)数列通项(递归法、非递归法)...

    意大利的数学家列昂那多·斐波那契在1202年研究兔子产崽问题时发现了此数列.设一对大兔子每月生一对小兔子,每对新生兔在出生一个月后又下崽,假若兔子都不死亡.问:一对兔子,一年能繁殖成多少对兔子?题中本 ...

  6. 编程之美-斐波那契(Fibonacci)数列方法整理

    [试题描述] 方法一:传统解法,有重复计算 方法二:地推关系式的优化,时间复杂度O(n),空间复杂度也是O(n) 方法三:时间复杂度O(1) 方法四:分治策略,时间复杂度O(logn)

  7. 斐波那契 (Fibonacci)数列

    尾递归会将本次方法的结果计算出来,直接传递给下个方法.效率很快. 一般的递归,在本次方法结果还没出来的时候,就调用了下次的递归, 而程序就要将部分的结果保存在内存中,直到后面的方法结束,再返回来计算. ...

  8. [CS101] 转载:浅议Fibonacci(斐波纳契)数列求解

    原文转载自林健随笔的"浅议Fibonacci(斐波纳契)数列求解" Fibonacci 数列 描述了动物繁殖数量.植物花序变化等自然规律.作为一个经典的数学问题,Fibonacci ...

  9. php 斐多纳契数列,斐波那契神奇数列与波浪理论的完美重合(摘选)

    斐波那契神奇数列与波浪理论的完美重合(摘选) 一.斐波那契数列为波浪理论的结构基础 艾略特,波浪理论的开山祖师,在1934年公开发表波浪理论,指出股市走势依据一定的模式发展,涨落之间,各种波浪有节奏地 ...

  10. java兔子,Java斐波那契兔子数列

    本篇文章帮大家学习java斐波那契兔子数列,包含了Java斐波那契兔子数列使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 斐波那契数列指的是这样一个数列 0, 1, 1, ...

最新文章

  1. eclipse从svn检出项目
  2. 实现计算机界“大满贯”,芮勇博士再获技术成就大奖
  3. Python学习之==面向对象编程(一)
  4. 关于Async与Await的FAQ
  5. html 启动bat脚本,Windows开机自启动bat脚本设置方法
  6. Fast R-CNN论文详解
  7. leetcode-344-反转字符串
  8. Oracle 游标的各种写法
  9. 【Java HashMap】常用函数的使用
  10. python3 线程池监控线程是否停止工作_Python线程池——个人总结,如果你不喜欢就不要喷,勿...
  11. spring注册bean
  12. mysql服务重启后不见了_太狗血!翔安已婚男出轨KTV服务员,致其怀孕后避而不见!情人上门讨要说法后原配妻子也......
  13. iOS之Masonry代码解析
  14. Origin学习中文论坛及自带的learning center
  15. 用Radeon RAMDisk在Windows 10中创建关机或重启不消失的内存虚拟盘
  16. 一分钟入门typescript
  17. [线性代数]向量2-范数三角不等式证明
  18. 浅谈机器学习之深度学习
  19. activiti:initiator详解
  20. 后端人眼中的Vue(五)

热门文章

  1. XZ_iOS之SourceTree点击“推送”时用户名填写错误
  2. 技术狂人如何成长为企业副总裁?
  3. python搞笑表白
  4. Spring源码阅读之bean对象的创建过程
  5. 用Selenium实现页面输入内容
  6. Springboot项目多模块打包jar移动到指定目录,docker打jar包构建镜像部署并运行
  7. Linux解决端口占用问题
  8. 算法入门—质因数分解
  9. php个性签名,如何在discuz论坛帖子的个性签名前后插_php
  10. 计算机音乐谱子薛之谦,薛之谦丑八怪歌词是什么意思 计算器谱子