K阶斐波那契序列的实现_第1页
K阶斐波那契序列的实现_第2页
K阶斐波那契序列的实现_第3页
K阶斐波那契序列的实现_第4页
K阶斐波那契序列的实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

K阶斐波那契序列的实现,问题描述问题分析及实现开发过程常见问题及解决,K阶斐波那契序列的实现,斐波那契(Fibonacci)序列在自然界中的出现是非常地频繁,人们深信这不是偶然的。延龄草、野玫瑰、金凤花、百合花、蝴蝶花、雏菊等它们的花瓣的数目都具有斐波那契数。本章将实现一个求K阶斐波那契序列的程序。,问题描述,一个序列:1,1,2,3,5,8就是一个斐波那契序列。他们都是前面相邻两项之和,构成了后一项,这就是斐波那契序列的定义。而K阶斐波那契序列是指前K-1项均为0,第k项为1,以后的每一项都是前K项的和。本章我们就来实现此序列。,问题分析及实现,1问题分析2问题实现3程序运行,问题分析及实现,由问题描述可知,我们要实现的是打印斐波那契序列。斐波那契的序列,计算起来比较简单,根据定义,无非就是对一个数的累加的过程。知道了斐波那契的本质是累加的一个过程,如何编写呢?,问题分析,斐波那契的序列求解的过程,就是打印对序列各项累加显示的过程。那么如何对一个数N累加呢?简单可以理解为:从零开始,逐个将计算的结果值放进合计中,然后合计值又等于合计值加上循环变量。,问题实现,为了实现这个问题求解的程序,将程序分解功能。一部分功能是程序所使用的数据结构的声明。在此程序中,采用队列的方式记录每一个元素节点。另一部分功能是将输入、计算、输出结果合并为一个实现过程。,问题实现,1.采用结构体保存过程数据通过定义两个结构体类型,分别记录二叉树的信息和编码的信息,代码如下。01#include02#include03#defineMAX100/*最大队列长度*/04typedefstruct0506int*m_Base;/*初始化的动态分配存储空间*/07intm_Front;/*头指针,若队列不空,指向队列头元素*/08intm_Rear;/*尾指针,若队列不空,指向队列尾元素的下一个位置*/09SqQueue;/*定义结构体保存队列*/,问题实现,2.求解斐波那契的序列的主函数分两部分计算序列,第一部分,直接将前K项置为初始值0,第二部分,计算K-1项直到计算所得项的值超过要求的值。,程序运行,单击【调试】工具栏中的按钮,根据提示输入数据,按【Enter】键,即可输出如下结果。,开发过程常见问题及解决,开发过程常见问题及解决办法如下,仅供参考。开发中,要如何理解斐波那契呢?假设N为第一项,M为第二项,那么第三项就是N+M,第四项就是2M+N。这样理解就会容易的多。此程序的难点之一斐波那契数如何求出来。在本例中,方法采用的是简单的循环累加求第N项。(3)此程序的另一难点,是如何保存斐波那契序列中已经求出的前N项。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论