vb中如何进行递归调用
我想解决一个N!的问题,但是VB还是很生疏,请达人教一下 如何进行递归调用
dim n as long
dim s as long
s=1
n=inputbox("输入N的值:")
for i=1 to n
s=s*i
next i
print s 's就N!的值
递归是一种算法,不是VB或是哪一种编程语言的…………
所谓递归就是在过程中调用过程本身。一般用递归的代码都能用循环来代替。但递归的代码简洁,比循环更容易看懂。
不过由于递归会不断的堆栈要花费相当大的空间与时间代价。
现就以你说的N!来举例:
Option Explicit
Private Sub Form_Load()
Debug.Print "5!=" & SUM1(5)
End Sub
Private Function SUM1(ByVal NUM As Long) As Long '使用递归计算接一乘
If NUM < 1 Then
Exit Function
ElseIf NUM = 1 Then
SUM1 = 1
Else
SUM1 = NUM * SUM1(NUM - 1)
End If
End Function
[此贴子已经被作者于2007-5-21 22:14:07编辑过]