vlambda博客
学习文章列表

常用算法——Fibonacci数列问题

1202年,意大利数学家斐波那契出版了《算盘全书》。他在书中提出了一个关于兔子繁殖的问题:如果一对兔子每月能生一对小兔,而每对小兔在它们出生后的第三个月,又能生一对小兔,假定在不发生死亡的情况下,一年后会有多少对兔子?这就是非常著名的“Fibonacci数列问题”。

算法之美——乔布斯的苹果

苹果中隐含的奥妙:根据斐波那契数列数值为基础位置画出的圆形的组合

常用算法——Fibonacci数列问题

算法分析:

常用算法——Fibonacci数列问题

常用算法——Fibonacci数列问题

算法描述:

常用算法——Fibonacci数列问题

算法思考:

P146例6.2用数组处理求Fibonacci数列问题,P133例5.8中用简单变量处理的,请同学们从以下几个方面比较P134、P135、P146三个程序:

①三个程序的变量的定义:P134为什么定义f1,f2,f3三个变量,P135为什么定义两个变量f1,f2?

②三个程序是如何赋初值的?

③三个程序如何求出Fibonacci数列?

④三个程序如何实现数列的输出?

⑤利用数组求数列和用简单变量求数列的区别?

算法实现:

常用算法——Fibonacci数列问题

上机调试:

常用算法——Fibonacci数列问题

算法小结:

①例5.8中用简单变量处理的,缺点不能在内存中保存这些数。假如想直接输出数列中第25个数,是很困难的。

②如果用数组处理,每一个数组元素代表数列中的一个数,依次求出各数并存放在相应的数组元素中。

常用算法——Fibonacci数列问题