您现在的位置是:首页 > Excel技巧>用VBA编写经典算法之递推法
常用算法递推法-用VBA编写经典算法之递推法
发布于2022-04-150人已围观
什么是递推法?
即从已知条件出发,逐步推算出要解决的方法.就是递推法.下面通过经典案例来为大家讲解递推在现实中的应用.
斐波那契在《算盘书》中提出了一个有趣的兔子问题:
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?
拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔总数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;
……
依次类推可以列出下表:
通过上图可以发现一个规律,即:前面两项之和构成另一项
写成公式: f(n)=f(n-2)+f(n-1)
好了,那么接下来我们就可以根据以上公式写出如下代码:
Sub 兔子()
Dim x%
Dim arr(13)
For x = 1 To 12
If x < 3 Then
arr(x) = 1
Else
arr(x) = arr(x - 1) + arr(x - 2)
End If
Debug.Print "第"; x; "个月兔子的总数为:"; arr(x)
Next
End Sub
结果 如图:
- 上篇文章:VBA简单实例比较几种循环结构
- 下篇文章:在VBA中使用SQL必须要知道的几点
相关文章
文章评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~