VB:汉诺塔问题的递归调用函数

来源:百度知道 编辑:UC知道 时间:2024/05/26 21:31:22
VB编汉诺塔问题的递归调用函数,7个大小不一的盘子从一台子移到到另一台子,最少移几回?设函数为f,则f(n)=2*f(n-1)=1

dim ncont as double
private function Hnt(n as integer,A,as string,B as string,C as string)
ncont=ncont+1
if n>1 then
Hnt (n-1),a,c,b
Hnt (n-1),b,a,c
end if
end function

private sub command1_click()
dim i as integer
dim a as string
dim b as string
dim c as string
i=7 '此值即为汉诺塔的阶数.计算超过12的汉诺塔会死机,
Hnt (i,a,b,c)
text1.text=ncont
end sub

运行结果:127