常用算法——Fibonacci数列问题
1202年,意大利数学家斐波那契出版了《算盘全书》。他在书中提出了一个关于兔子繁殖的问题:如果一对兔子每月能生一对小兔,而每对小兔在它们出生后的第三个月,又能生一对小兔,假定在不发生死亡的情况下,一年后会有多少对兔子?这就是非常著名的“Fibonacci数列问题”。
算法之美——乔布斯的苹果
苹果中隐含的奥妙:根据斐波那契数列数值为基础位置画出的圆形的组合
算法分析:
算法描述:
算法思考:
P146例6.2用数组处理求Fibonacci数列问题,P133例5.8中用简单变量处理的,请同学们从以下几个方面比较P134、P135、P146三个程序:
①三个程序的变量的定义:P134为什么定义f1,f2,f3三个变量,P135为什么定义两个变量f1,f2?
②三个程序是如何赋初值的?
③三个程序如何求出Fibonacci数列?
④三个程序如何实现数列的输出?
⑤利用数组求数列和用简单变量求数列的区别?
算法实现:
上机调试:
算法小结:
①例5.8中用简单变量处理的,缺点不能在内存中保存这些数。假如想直接输出数列中第25个数,是很困难的。
②如果用数组处理,每一个数组元素代表数列中的一个数,依次求出各数并存放在相应的数组元素中。