Advertisement

递归实现的斐波那契数列C++程序

阅读量:

问题描述

问题描述:借助计算机实现对斐波那契数列的计算

问题分析:通过嵌套递归的方式完成斐波那契数列的计算过程

输入样例:n=5;

输出样例:fib(n)=5;

设计思路

设计思路:借助递归调用机制,实现函数对自身的直接或间接调用。为确保每次调用能够准确记录执行断点并返回相应地址,需构建一个工作栈结构。

数据结构:

算法描述:

Fib(n)

If (n=1) or (n=2) then Fib<-1

Else Fib<-Fib(n-1)+Fib(n-2)

Return

测试用例及结果说明

设计及测试过程

第一步:明确需要解决的问题;

第二步:将问题进行形式化转换;

第三步:构思具体的计算方法;

第四步:以伪代码的形式进行描述;

第五步:编写实际的程序代码;

第六步:对编写的代码进行测试验证;

第七步:根据测试结果对代码进行修正完善;

参考书籍:《计算机软件技术基础》 清华大学出版社 第三版

评价和改进

算法优点:采用递归方式,使得程序逻辑更加清晰简洁。

算法缺点:使用递归方式在处理较大的斐波那契数列项时,会导致时间和空间资源的大量消耗。

功能拓展:可实现对斐波那契数列前n项的逐项输出功能。

附:源程序

复制代码
 #include

全部评论 (0)

还没有任何评论哟~