Fibonacci number是这样的数列:
f(0) = 0, f(1) = 1,
f(n) = f(n-1) + f(n-2) (n 》=2)
下面给出几种求解方法
1) 使用函数递归方法。
这个是最容易想到的方法
但是这个比较花时间,因为有很多重复计算(重复的函数调用)。
在我的电脑上,计算f(45)的值,用了10.256秒的时间。
2) 把计算的中间结果保存下来,避免重复计算。
用这种方法计算f(45),仅仅用了 0.000017秒的时间, 时间降低了百万倍!
3) 第二种方法,使用了较多的内存保存中间结果。还可以进一步减少内存的使用。
所需时间和 2)差不多。
4)不使用函数递归,使用迭代的方法
5)
6)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
算法
+关注
关注
23文章
4460浏览量
90843 -
C语言
+关注
关注
180文章
7534浏览量
129570
发布评论请先 登录
相关推荐
有六个仿真器,想处理掉!
本人有义隆,合泰。中颖,PIC等六个仿真器低价处理,另有20m三星示波器一部,LM324芯片6000个,HT6222红外遥控芯片(COB)20000个,稳压电源一台,一同处理,超低价优惠,感兴趣请留言。
发表于 11-07 19:44
10个经典的C语言面试基础算法及代码
算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文包括了经典的Fibonacci数列、简易
发表于 11-20 15:18
nrf24l01自身有六个通道,这里的通道是什么意思,是频率的意思吗
nrf24l01自身有六个通道,这里的通道是什么意思,是频率的意思吗是不是只能六个频率发,1个频率接收?
发表于 03-02 16:25
电源电路中选用MOS管的六个方法
可参考下文的“MOS管损耗的8个组成部分”部分。 六、耗散功率约束 器件稳态损耗功率PD,max应以器件最大工作结温度限制作为考量依据。如能够预先知道器件工作环境温度,则可以按如下方法估算出最大
发表于 02-21 12:02
六个带有WiFi模块的单片机跟一个配置为AP模式的单片机通信,六个之间并不通信
我得目的是让六个带有WiFi模块的单片机跟一个配置为AP模式的单片机通信,六个之间并不通信这个过程绝不能涉及任何手机电脑路由器,不知道可不可以。想听听各位的的高见
发表于 05-16 06:35
10个经典的C语言面试基础算法及代码
1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。C语言实现的代码如下:/* Displa
发表于 07-25 17:07
如何将Altium Designer中六个圆孔内部变为空心的?
Altium Designer 画PCB的时候,如下图所示,如何将六个圆孔内部变为空心的,本意是带六个洞洞的板子 求大神支招
发表于 09-16 20:12
关于10大C语言基础算法
算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。1、计算
发表于 04-29 14:30
sd可以实现六个面对应六个不同文件夹sd音乐吗?
想做一个感应正方体音乐盒,通过三轴加速度计去感应六个面的变化,从而去读取sd不同文件夹的音乐,六个面对应六个不同文件夹sd音乐,而且文件夹里面的音乐是可以换的,我知道单独设置一
发表于 08-12 22:09
六个子目录的作用
到的不同文件。建立CMSIS、Library、Listing、Output、Project、User六个子目录,如下图所示。下面来讲一下这六个子目录的作用。C
发表于 08-04 06:51
评论