文档之家
首页
教学研究
幼儿教育
高等教育
外语考试
建筑/土木
经管营销
自然科学
当前位置:
文档之家
›
C#语言编程求解斐波那契数列--湖北科技职业学院.
C#语言编程求解斐波那契数列--湖北科技职业学院.
格式:ppt
大小:3.03 MB
文档页数:13
下载文档原格式
下载原文件
/ 13
下载本文档
下载提示
文本预览
1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、问题分析
公元1200年,意大利数学家列昂纳多.斐波 那契在《计算之书》中第一次将斐波那契数 列推上了历史的舞台。在数学上,费波那契 数列是这样来定义的:
1, n 1; Fib(n) 1, n 2; Fib(n 1) Fib(n 2), n 2.
意大利数学家列昂纳多.斐波那契
C#语言编程求解斐波那契数列
湖北科技职业学院 电信工程学院
宋薇
目录
问题分析
01
02 03
问题导入
知识拓展
编程实现
04
一、问题导入
• 让我们首先从一个数列开始,它的前面几个数是:1、1、2、 3、5、8、13、21、34、55、89、144。这个数列的名字 叫做“斐波那契数列”。这个数列有什么应用的意义,为什 么要求解斐波那契数列呢? • 让我们从nature by numbers工作室制作的微电影中了解这 一答案吧。
二、问题分析
F(1)=1 F(2)=1 F(3)=2 F(4)=3 F(5)=5 F(6)=8 F(7)=13 F(8)=21 F(9)=34 F(10)=55
F(11)=89 F(12)=144 F(13)=233 F(14)=377 F(15)=610 F(16)=987 F(17)=1597 F(18)=2584 F(19)=4181 F(20)=6765
递归函数计算Fib(40)
竟然用了6538毫秒!
long FibIT( int n ) 迭代函数计算Fib(40) { if ( n<=2) 只用了1毫秒! return 1; long F1,F2,F3; F1 = 1, F2 = 1; for for(int (int i=3; i=3;i<=n; i<=n;i++) i++) { { F2+F1; FF == F2+F1; F1= F2; F1= F2; F2 F2 == F;F; } } return F; }
F(21)=10946 F(22)=17711 F(23)=28657 F(24)=46368 F(25)=75025 F(26)=121393 F(27)=196418 F(28)=317811 F(29)=514229 F(30)=823040
F(40)=?
F(31)=……….. F(32)=……….. F(33)=……….. F(34)=……….. F(35)=……….. F(36)=……….. F(37)=……….. F(38)=……….. F(39)=………..
. .
非 递 归( 迭 代)
五、小结
了解斐波那契数列的应用与递推公式; 掌握迭代法与递归法的求解过程;
提升编写程序的成就感。
下节预告:将递归算法转换为非递归算法的第二种方法 间接变换法(堆栈)
三、编程实现
int fibRE(n) { if(n <2) return n; else return f(n-1) + f(n-2); }
在编写递归调用的函数的时候 ,一定要把对简单情境的判断 写在最前面,以保证函数调用 在检查到简单情境的时候能够 及时地中止递归
递归函数求解Fibonacci调用过程
Fib(5) 5 return return Fib(3) + Fib(4) + Fib(3)
3 Fib(2)
1 return 1
2
return Fib(2) + 1 return 1 Fib(1) 1 return 1
2 return Fib(2) 1 return 1 +
Fib(1) 1 return 1
四、知识拓展
用新值取代变量旧值 F(3)=F(2)+F(1)
F
2 = 3 = 5 = 8 =
F2
1 + 2 + 3 + 5 +
F1
1 1 2 3
F(4)=F(3)+F(2) F(5)=F(4)+F(3)
F(6)=F(5)+F(4) 迭 代 表 达 式 F =F2+F1
F1=F2
F2=F
递归
long FibRE( int n ) { if ( n<=2) return 1; else return return FibRE(n-1)+FibRE(n-2); FibRE(n-1)+FibRE(n-2); }
二、问题分析
F(40)
F(39) F(38)
F(38)
…………….
ห้องสมุดไป่ตู้
F(37)
F(37)
F(36)
…………….
F(4)
F(3)
..….
F(2)
F(1)
..….
F(1)
F(3)
F(2)
F(2)
F(1)
1
1
1
F(2)
F(1)
1
1
1
1
1
二、问题分析
递归的条件
• 1.是把规模大的问题转化为规模小的相似的子问题来 解决。 • 2.在函数实现时,这个解决问题的函数必须有明显的 结束条件,否则就会产生无限递归的情况。
合集下载
相关主题
湖北科技职业学院
江西生物科技职业学院
江西应用工程职业学院
江西农业工程职业学院
湖北生物科技职业学院
湖北科技职业学院ppt
文档推荐
武汉所有大学名录
页数:4
湖北2020高职专科学校最新排名
页数:1
湖北高等职业院校第三批楚天技能名师教学岗位聘任人选名单
页数:6
2018年全国职业院校技能大赛拟设赛项承办地和承办校名单.xls
页数:4
最好的专科大学-高等专科学校
页数:2
湖北省各高等院校历任校(院)长详细情况
页数:12
湖北高校名单大全:2020年湖北专科本科高校名单一览表
页数:4
武汉市所有高职高专院校的录取分数线
页数:3
2016年湖北高职高专院校排名情况
页数:2
湖北高职高专学校排名
页数:4
最新文档
饭店包间名字大全
word无法创建工作文件,请检查临时环境变量
自行车健身比赛开幕式讲话词
2018乡村医生个人工作总结
MySQL测试题 SQL
合勤NXC5200
铁路集中箱空箱调度优化建模案例(案例2)
微分几何教学大纲-复旦大学数学科学学院
人教版九年级数学上册导学案:24.1.1_圆【精品】
(整容后办护照用)医院整容证明