数据平移示例.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据平移示例

软件课程设计1 -基础题一 Fibonacci(斐波那契)数列 1202年,意大利数学家斐波那契出版了他的算盘全书,在书中第一次提到了著名的Fibonacci数列,定义如下: f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2) n2 现在我们的任务就是求出Fibonacci数列的第n项。    这是一个有趣的古典数学问题:有一对兔子,从出生后的第3个月起,每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少对? ??? 可以看到每个月兔子的对数依次为: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, …… 。这就是Fibonacci数列。 怎么样用c++程序来实验这个序列? 一.设计要求  编程序,使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项(的具体项值)并显示在屏幕上(正整数n通过键盘输入):说明变量old1=1,old2=1,newitem;新的Fibonacci项newitem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newitem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newitem,依次循环,直到求出数列的第n项时为止。 Fibonacci数列的计算公式如下:  fib(1) = 1;  fib(2) = 1;  fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n 这个数列有如下特点: ①第1,2两个数为1,1。即fib(1) = 1;  fib(2) = 1; ②从第3个数开始,该数是其前面两个数之和。 即: fib(n) = fib(n-1) + fib(n-2);(n=3) 题中给出了几个变量:    old1,old2,newnewitem, 其中old1和old2的初始值都为1,newitem是新的Fibonacci项,它的值为“距它最近”的前两项(old1与old2)的累加和。    可以列出: newitem1=old1+old2,     初始变量 newitem1=old1+old2,经过一次运算,   变量 newitem2=old2+newitem1,那么数列变成了old1,old2,newitem1,newitem2, 其中:  newitem1=old1+old2   newitem2=old2+newitem1    那么此时新产生的数列中原先的三个变量都已经发生了变化,即:   old1=old2; old2=newitem1        比较:         newitem1=old1+old2         newitem2=old2+newitem1  原先的数列为 old1,old2,newitem1 运算后的数列为 old1,old2,newitem1,newitem2    那么现在的数列中的“old1”,“old2”分别被新数列中的“old2”,“newitem1”所代替,依此类推,以后的数列中的old1,old2都将在不断的变换,如图所示:   newitem1=old1+old2   newitem2=old2+newitem1   newitem3=newitem1+newitem2 newitem4=newitem2+newitem3 (old1) (old2) 可以看出, Fibonacci(斐波那契)数列其实是一个递归数列,我们编程时的主要算法就是运用递归的思想. 概要设计: 方法一:用以上所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项。  即用old1=old2; old2=newItem;进行“数据平移”。 方法二:用递归算法实现求出Fibonacci数列的第n项。       我们现在用方法二即递归算法来求出Fibonacci数列的第n项. 二.详细设计与编码:   #include iostream.h   long int fun(int a)   {      }   void main( )  {    int n;    cout请输入要求出的Fibonacci数列的第n

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档