斐波那契数列研究及编程实现

2017-03-06 20:45何俊毅
计算机时代 2017年2期
关键词:迭代数组编程

何俊毅

摘 要: 文章介绍了斐波那契数列及其意义、价值和应用场景,分析了其7种编程实现方式:递归方式、数组方式、vector方式、queue 方式、迭代方式、公式方式、二分矩阵方式,对其编程实现进行了具体对比分析,最后指出迭代方式是最佳方式。

关键词: 斐波那契数列; 编程; 递归; 数组; 迭代

中图分类号: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 、queue 、迭代、公式、二分矩阵等方式。

代码结构:

使用递归方式其解法最为简单,但递归过程中存在大量的重复计算,效率慢,以及深度递归会消耗大量的栈空间,一般会在计算到较大数值时(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

猜你喜欢
迭代数组编程
JAVA稀疏矩阵算法
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
JAVA玩转数学之二维数组排序
纺织机上诞生的编程
Excel数组公式在林业多条件求和中的应用
基于最小二乘的视野区域运动方向分析
JavaScript计算性能对比研究
中间件“迭代”