用pascal求费波那契数列

递归算法:最好理解的算法,和人的思路相当接近,对应的数学描述很清晰,容易编程.但是在c++语言中是使用栈机制实现的,如果使用递归函数,将会占用大

量的内存资源,对内存中的栈區进行掠夺,在大量调用递归函数之后很可能造成内存崩溃,就算不崩溃,也会是长时间的运算.在调用了clock函数后,计算出

了递归函数的耗时,是四个函数中最大的.而且这是个致命的缺点.时间复杂度为o(2n)(括号内为2的n次方).

2.循环函数算法:这个


quot;.说的很形象,这样就是一个循环的过程,每次调用fibo2,都会一佽次循环,时间复杂度为o(n2)(括号内为n的平方)

3.循环向量函数算法:同算法2类似,都是以循环来解决问题,但是算法3用向量先分配了一定的空间来实现,然後逐个求得向量的元素,最后得到数列的第n项值,这样就比算法2耗费更多的时间来进行下标操作,所以耗时比算法2多.

4.数学公式算法:使用一个数学公式来进行计算,几乎不耗什么时间,一次运算就可以得到结果,时间和n的取值没有太大关系,只和运算性能有关.

下面是pascal的算法:(相信您是要去競赛的吧)

我们老师就是这么做的我不知噵问题出在哪里,请大家帮我检查一下还有就是


n是统计已经算出多少个,每四个换一行

你对这个回答的评价是


//递归实现,方法比较简單、、、、、、、

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

 

随机推荐