一个递归算法,错在哪里,请高手进来指点,谢谢!
r为已知整数,x为已知实数,求满足以下条件的函数值H(r,x)
当r=0,H(r,x)=0 ;
当r=1,H(r,x)=x ;
当r> 1,H(z)=2*x*H(r-1,x)-H(r-2,x)
这是一个递归计算,我这样写错在哪里,以前没接触过递归算法,请大家指点,谢谢。
Public Function H(r, x) As Double
Dim r1 As Long, r2 As Long
If r = 0 Then
H = 1
ElseIf r = 1 Then
H = x
Else
r1 = r - 1: r2 = r - 2
H = 2 * x * H(r1, x) - H(r2, x)
End If
End Function
[解决办法]
当r=0,H(r,x)=0 ;
为什么你的代码是
If r = 0 Then
H = 1