关于VB的枚举法和递推问题最近在学VB,碰到类似二元递推的问题一直找不到合适的表达方式.比如有一题,上十三个台阶的,规定一次只能上1个或者2个台阶,求所有的上台阶方案组合及其总数.递

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 06:12:55
关于VB的枚举法和递推问题最近在学VB,碰到类似二元递推的问题一直找不到合适的表达方式.比如有一题,上十三个台阶的,规定一次只能上1个或者2个台阶,求所有的上台阶方案组合及其总数.递

关于VB的枚举法和递推问题最近在学VB,碰到类似二元递推的问题一直找不到合适的表达方式.比如有一题,上十三个台阶的,规定一次只能上1个或者2个台阶,求所有的上台阶方案组合及其总数.递
关于VB的枚举法和递推问题
最近在学VB,碰到类似二元递推的问题一直找不到合适的表达方式.比如有一题,上十三个台阶的,规定一次只能上1个或者2个台阶,求所有的上台阶方案组合及其总数.递推式很显然为n=n+1 或者 n= n+2,但是要怎么样让计算机随机(或者是按某种顺序)地去选择加上去的是1或者是2,又或是更多的呢?
类似地还有一根钢管长多少多少,然后有两种截取方法,问是截取后剩下的最少的截取方案等等..纠结就在于那个每次变化的取值要可以在2个之中任意取,又要都取到~脑子有点糊涂,
还有,一个小小的问题,要怎么样让7个变量在7个数值中任意选取,但两两互不重复呢?(打个比方而已)要构造function要怎么构造啊~

关于VB的枚举法和递推问题最近在学VB,碰到类似二元递推的问题一直找不到合适的表达方式.比如有一题,上十三个台阶的,规定一次只能上1个或者2个台阶,求所有的上台阶方案组合及其总数.递
递归的方法,形式如下:
function findit(varStep)
call findit(1)
call findit(2)
end function
具体代码(VB6下测试通过)
窗体上放一个文本框(Name=txtResult,MultiLine=True)和按钮(name=cmdCalc)
Private pCount As Long
Private strResult As String
Private Sub cmdCalc_Click()
pCount = 0
strResult = ""
Call FindIt(13,1,"")
Call FindIt(13,2,"")
txtResult.Text = strResult '显示结果
cmdCalc.Caption = Format(pCount)
pCount = 0
strResult = ""
End Sub
Private Function FindIt(nValue As Integer,nStep As Integer,strPath As String) As Boolean
Dim nValTemp As Integer
Dim strCurPath As String
nValTemp = nValue - nStep'下一步可用的台阶
strCurPath = strPath & Format(nStep)'记录这一步的走法(1或者2)
Select Case nValTemp
Case Is < 0 '尝试失败,直接退出
FindIt = False
Exit Function
Case 0 '成功获得一种走法,记录走法,计数加1
pCount = pCount + 1
strResult = strResult & IIf(Len(strResult) > 0,vbCrLf,"") & strCurPath
FindIt = True
Exit Function
Case Else '还没走完
Call FindIt(nValTemp,1,strCurPath)
Call FindIt(nValTemp,2,strCurPath)
End Select
End Function

关于VB的枚举法和递推问题最近在学VB,碰到类似二元递推的问题一直找不到合适的表达方式.比如有一题,上十三个台阶的,规定一次只能上1个或者2个台阶,求所有的上台阶方案组合及其总数.递 关于vb问题 关于VB的题目 Integer和Single的区别是什么啊VB初学问题 vb中用辗转相除法求最大公约数属于枚举法还是解析法 VB里的Fix和Abs分别是什么意思?不懂VB,考二级里要考VB, VB面积计算器问题 VB题 枚举算法 请计算自然数100以内的能被3整除的偶数的个数. 在中国古代数学著作《孙子算经》中有这样一个问题:今有物不知其数,三三数剩二,五五数剩三,七七数剩二,七七数剩二,问物几何?试用枚举算法来解决这一问题并提供相应的VB程序 编程问题,六个字母ABCDEF,排一圈,如何判定从某个字母开始往后数,第几个是什么字母?是否用到枚举类型答的好追加分数.用VB、C#或C语言都行. 高一信息技术选修计算的问题(VB程序的)将1张面值为100元的人民币等值换成5元,1元的零钞共40张,要求每种零钞不少于1张,问5元和1元面值的零钞各多少元?用枚举算法实现上述.请编写出完整 VB Int和CInt的区别 VB里tab和spc的区别~ Basic和VB的分别是什么 VB中Wend和Loop的区别 VB表达式问题写出表示x是3或7的倍数的VB表达式.写出产生100~200(包括100和200)范围内的一个正整数的VB表达式. 1.VB中关于a和b其中有一个小于c,关系的表达式 2 .VB中a是奇数.3 VB中a不能被b整除. 求这一题的VB表达式