首页 采用递归算法实现组合

采用递归算法实现组合

举报
开通vip

采用递归算法实现组合采用递归算法实现组合,并显示所有组合结果 一.窗体上添加的控件: 2个按钮; 3个文本框;其中显示结果的那个设置成多行显示,并设置滚动条。 4个标签;   二.运行界面: 见下图:   三.全部代码: Option Explicit Private BiaoJI() As Boolean Private d() As Integer Private MyArrAy() As String Private MyStr As String   Private Sub Command1_Click() Dim i As...

采用递归算法实现组合
采用递归算法实现组合,并显示所有组合结果 一.窗体上添加的控件: 2个按钮; 3个文本框;其中显示结果的那个设置成多行显示,并设置滚动条。 4个标签;   二.运行界面: 见下图:   三.全部代码: Option Explicit Private BiaoJI() As Boolean Private d() As Integer Private MyArrAy() As String Private MyStr As String   Private Sub Command1_Click() Dim i As Integer Dim LinStr As String Dim PP As Integer Dim m As Integer Dim n As Integer   LinStr = Trim(Text1.Text) m = 0 PP = InStr(LinStr, ",") Do While PP <> 0    m = m + 1    ReDim Preserve MyArrAy(1 To m) As String    MyArrAy(m) = Left(LinStr, PP - 1)    LinStr = Right(LinStr, Len(LinStr) - PP)    PP = InStr(LinStr, ",") Loop m = m + 1 ReDim Preserve MyArrAy(1 To m) As String MyArrAy(m) = Trim(LinStr)   n = Val(Text2.Text)  '取组合数n   '首先对数据进行合法性检查 If n > m Then    MsgBox "n值不能超过m值!" & vbCrLf & vbCrLf & _           "请检查:" & vbCrLf & vbCrLf & _           "1,输入元素的个数。" & vbCrLf & vbCrLf & _           "2,元素之间是否用西文逗号分隔!", , "错误提示!"    Exit Sub End If   ReDim BiaoJI(m) As Boolean ReDim d(m) As Integer   MyStr = "" Call ZuHe(m, n, 0) Label4.Caption = "共有:" & JJ(m) / JJ(n) / JJ(m - n) & "种组合。" Text3.Text = MyStr End Sub   Private Sub ZuHe(ByVal m As Integer, ByVal n As Integer, ByVal k As Integer) Dim i As Integer If k = n Then    For i = 0 To n - 1       MyStr = MyStr & MyArrAy(d(i)) & " "       'Print d(i),    Next i    MyStr = MyStr & vbCrLf    'Print End If   For i = 1 To m    If Not BiaoJI(i) Then       If k = 0 Then          d(k) = i          BiaoJI(i) = True          Call ZuHe(m, n, k + 1)          BiaoJI(i) = False       Else          If d(k - 1) < i Then             d(k) = i             BiaoJI(i) = True             Call ZuHe(m, n, k + 1)             BiaoJI(i) = False             End If       End If    End If Next i        End Sub   Private Function JJ(ByVal n As Integer) As Double Dim i As Integer JJ = 1 For i = 1 To n    JJ = JJ * i Next i End Function   Private Sub Command2_Click()    End End Sub 2013年2月6日 代码通过VB6运行测试
本文档为【采用递归算法实现组合】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321635
暂无简介~
格式:doc
大小:33KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-27
浏览量:7