Private Function RecursionCompute(ByVal n As Integer) As Single '编写计算y=1+1/2+1/3+1/5+1/8+......+1/(f(n-1)+f(n-2))的函数过程.
Dim pSum As Single
Dim i As Integer
pSum = 0
If n = 1 Then
pSum = 1
ElseIf n = 2 Then
pSum = 1 + 1 / 2
ElseIf n >= 3 Then
pSum = 1 + 1 / 2
For i = 3 To n
pSum = pSum + 1 / (f(i - 1) + f(i - 2))
Next i
End If
RecursionCompute = pSum
End Function
Private Function f(byval i As Integer) As Integer
f = i
End Function
Private Sub Command1_Click()
Dim i() As Long, k As Long, y As Single
k = 1: ReDim Preserve i(k): i(k) = 1: y = y + 1 / i(k)
k = 2: ReDim Preserve i(k): i(k) = 2: y = y + 1 / i(k)
Do While (k < 40)
k = k + 1
ReDim Preserve i(k)
i(k) = i(UBound(i) - 1) + i(UBound(i) - 2)
Print k, i(k)
y = y + 1 / i(k)
Loop
Print y
End Sub