递归实现的斐波那契数列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)
还没有任何评论哟~
