注册 登录
编程论坛 VB6论坛

求VB代码,大神帮帮忙

honey111 发布于 2018-06-06 15:13, 1857 次点击
有n级台阶,每次可以跨一级台阶,两级台阶,三级台阶,求n(n<37)级台阶共有多少总走法?界面有一个文本框,一个按钮,和一个标签就可以了
9 回复
#2
wmf20142018-06-06 16:56
这是算法题,和那个找零钱算法类似,用递归很容易实现的。
#3
2018-06-06 17:10

http://www.北京赛车pk10开奖
http://www.北京赛车群
http://www.北京赛车pk10开奖   
http://www.北京赛车平台   
#4
2018-06-06 17:12
标题填写显示不出来,求大神帮忙分析一下

以下这些站,都是这样
http://www.北京赛车pk10开奖
http://www.北京赛车群
http://www.北京赛车pk10开奖   

#5
wds12018-06-06 21:50
'千万别用递归计算,慢死【以下算法1秒就能计算完毕,哪怕100阶都没问题】
f(37)= 3831006429
Private Sub Command1_Click()
  Dim sum
  n = Val(Text1.Text)
  ReDim sum(1 To n) As Double
  If n > 3 Then
    sum(1) = 1
    sum(2) = 2
    sum(3) = 4
  End If
  For i = 4 To n
    sum(i) = sum(i - 1) + sum(i - 2) + sum(i - 3)
    Label1.Caption = sum(n)
    DoEvents
  Next
  If n = 1 Then Label1.Caption = 1
  If n = 2 Then Label1.Caption = 2
  If n = 3 Then Label1.Caption = 4
End Sub

f(n) = f(n-1) + f(n-2) + f(n-3)
1    1种   
2    2种   
3    4种      
4    7种      
5    13种      
6    24种        
7    44种      
8    81种     
9    149种   
10   274种


[此贴子已经被作者于2018-6-6 21:52编辑过]

#6
honey1112018-06-07 09:46
回复 5楼 wds1
非常感谢!太厉害了!
#7
honey1112018-06-07 09:46
回复 2楼 wmf2014
感谢啊!
#8
honey1112018-06-07 09:48
回复 5楼 wds1
n=6我漏了4种,难怪没找到规律的
#9
honey1112018-06-07 11:02
回复 5楼 wds1
我是菜鸟,请教一下啊,定义sum的两条语句可以就写一条吗? dim sum(1 to n) as double


#10
wds12018-06-07 11:39
不能。
语法没问题,编译有问题。
因为dim sum(1 to 5) 这需要常数,不能是变量
1