何俊毅
摘 要: 文章介绍了斐波那契数列及其意义、价值和应用场景,分析了其7种编程实现方式:递归方式、数组方式、vector
关键词: 斐波那契数列; 编程; 递归; 数组; 迭代
中图分类号:TP312 文献标志码:A 文章编号:1006-8228(2017)02-52-03
0 引言
斐波那契数列[1]是意大利数学家列昂纳多·斐波那契发明的,我们在生活中经常能看到斐波那契数,比如松果、凤梨、树叶的排列、向日葵花朵的花瓣数、蜂巢、蜻蜓翅膀、黄金分割、等角螺线、十二平均律等。
斐波那契数列又称为黄金分割数列,指的是这样一个数列:1,1,2,3,5,8,13,21,34,……,数列从第3项开始,每一项都等于前两项之和。
斐波纳契数列以递归的方法定义。
F(1)=1,F(n)=F(n-1)+F(n-2) (n≥2,n∈N*)
n趋向于无穷大时,前一项与后一项的比值越来越逼近黄金分割0.618。
斐波那契数列在各方面存在许多实际的应用价值,黄金分割、杨辉三角、质数数量、尾数循环、自然界中各现象[2-3]。
斐波那契数列在软件开发中可应用于以下方面。
⑴ 解决网络程序中通讯意外断开后的重连延迟时间计算(例如QQ等通讯软件掉线后的自动重连功能,频繁重试连接会造成不必要的资源消耗,重试延迟便通过斐波那契数列实现,避免资源的不必要消耗)。
⑵ 应用于数学建模。
⑶ 应用于股票曲线值预测、周期值预测分析。
⑷ 计算饲养繁殖数量等。
1 斐波那契数列的编程实现及比较分析
为了更好地将斐波那契数列运用到微机计算中,本文对计算机编程语言的斐波那契数列编程方法进行了分析。
斐波那契数列可以通过多种编程方式实现,包括递归、数组、vector
代码结构:
使用递归方式其解法最为简单,但递归过程中存在大量的重复计算,效率慢,以及深度递归会消耗大量的栈空间,一般会在计算到较大数值时(F(100)),程序崩溃。
迭代的另一种实现方式,通过不同的变量命名来实现,不易理解,其他效果与迭代相同。
2 结果验证
尝试测试输入:5
输出:1 1 2 3 5
尝试测试输入:10
输出:1 1 2 3 5 8 13 21 34 55
通过代码的实现情况可知,迭代方式是最适用于斐波那契数列输出的编程方式,该编程方法可用于多种数模建立、产品设计、限值预测等软件开发。可更好地利用斐波那契数列来方便人们的生活。
3 结束语
通过对斐波那契数列的研究和编程实现,我们初步掌握了斐波那契解数列的规律和编程方法,可以看出迭代方式是目前实现斐波那契数列的较好方式。斐波那契数列的应用非常广泛,与自然、生活、科学都有着紧密的联系。它具有的数学之美让我们着迷,从数学之美到编程之美,还需要我们更加深入的研究和探索,找到更加优化的方法。更好的应用斐波那契解数列解决自然界中的问题,对于我们有着非常现实的意义。
参考文献(References):
[1] 凌晓牧.有趣的斐波那契数列[J].江苏教育学院学报(自然科
学版),2011.28(10):31-33
[2] 贾菲菲.斐波那契数列的研究与应用[J].科技创新与应用,
2014.4(5):53
[3] 闫萍.斐波那契多项式与斐波那契数列[J].常熟理工学院学
報,2005.17(3):15-20