打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用VBA列出斐波那契数
 

在数列中,除前两个数外,每个元素都是前两个元素的和,例如:

0,1,1,2,3,5,8,13,21,34,55,89,……

称之为斐波那契(Fibonacci)数列。
通用定义为:


斐波那契数列有许多用途,并且具有许多有趣的属性,例如斐波那契数列的商:

可以发现,前后元素的比例符合黄金分割法。
下面,我们编写一个程序,在Excel工作表中打印出斐波那契数以及它的商。
程序代码如下:

Sub Fibonacci()Dim f0 As Long, f1 As LongDim strNum As StringDim Max As Long, temp As LongDim n As Long strNum = InputBox(Prompt:="请输入Fibonacci数列的数字:") f0 = 0f1 = 1 If IsNumeric(strNum) ThenMax = CLng(strNum)Range("A1") = "数字序号"Range("B1") = "数字"Range("C1") = "商"Range("A2") = 0Range("B2") = 0Range("A3") = 1Range("B3") = 1For n = 2 To Maxtemp = f1f1 = f1 + f0f0 = tempRange("A" & n + 2) = nRange("B" & n + 2) = f1Range("C" & n + 2) = f1 / f0Next nElseMsgBox "您没有输入数字!程序退出!"End IfEnd Sub

其中,变量f1包含当前斐波那契数的值,f0包含前一个斐波那契数的值。
在For循环中:

  • 将f1(即当前的斐波那契数)的值保存到一个临时变量中。
  • 将f0和f1相加,并将结果保存到f1中,这就是新的斐波那契数。
  • 在f0中存储临时变量的值,即f0就是前一个斐波那契数。
  • 将结果输出到工作表中,并重复这个过程。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
斐波那契折返
斐波那契数列的完美演绎
函数部分总结及例题 | matlab基础
斐波那契数列相关的极限和级数问题典型题剖析(二)
The Fibonacci Sequence 斐波那契堆 (HD)
剑指offer 07 斐波那契数列
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服