求VB写出11个数字取五个数组成的全排列,不重复 假定为1到11即可
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/30 11:33:28
求VB写出11个数字取五个数组成的全排列,不重复 假定为1到11即可
运行时间很长的,请耐心等待:
Private Function Ps(Za As Integer, Zb As Integer, Zc As Integer, Zd As Integer, Ze As Integer)
Dim I1 As Integer, I2 As Integer, I3 As Integer, I4 As Integer, I5 As Integer
Dim Zf(1 To 5) As String, Xzf(1 To 5) As String
Zf(1) = Za
Zf(2) = Zb
Zf(3) = Zc
Zf(4) = Zd
Zf(5) = Ze
For I1 = 1 To 5
Xzf(1) = Zf(I1)
For I2 = 1 To 5
Xzf(2) = Zf(I2)
If Xzf(1) = Xzf(2) Then GoTo L2
For I3 = 1 To 5
Xzf(3) = Zf(I3)
If Xzf(3) = Xzf(1) Or Xzf(3) = Xzf(2) Then GoTo L3
For I4 = 1 To 5
Xzf(4) = Zf(I4)
If Zf(I4) = Xzf(1) Or Zf(I4) = Xzf(2) Or Zf(I4) = Xzf(3) Then GoTo L4
For I5 = 1 To 5
Xzf(5) = Zf(I5)
If Xzf(5) Zf(I4) And Xzf(5) Xzf(3) And Xzf(5) Xzf(2) And Xzf(5) Xzf(1) Then
Open App.Path & "\排列.txt" For Append As #1
Print #1, Xzf(1) & Xzf(2) & Xzf(3) & Zf(I4) & Xzf(5),
Close #1
End If
Next I5
'Print
L4:
Next I4
L3:
Next I3
L2:
Next I2
Next I1
End Function
Private Sub Command1_Click()
Dim I1 As Integer, I2 As Integer, I3 As Integer, I4 As Integer, I5 As Integer
Dim Sz(1 To 11)
Open App.Path & "\排列.txt" For Output As #1
Close #1
For I1 = 1 To 7
For I2 = I1 + 1 To 8
For I3 = I1 + 2 To 9
For I4 = I1 + 3 To 10
For I5 = I1 + 4 To 11
DoEvents
Label1 = I1 & I2 & I3 & I4 & I5
Ps I1, I2, I3, I4, I5
Next I5, I4, I3, I2, I1
Label1 = "完成,结果保存在" & App.Path & "\排列.txt"
End Sub
再问: 这运行显示错误,是不是我没定义好?我自己弄了个命令按钮和标签,名字改为了程序中的名字,执行后就出错了
再答: 你好像用的不是VB6.0?我是用6.0编的。
再问: 我用的EXCEL附带的VBA 应该一样的吧? 实在不行您把结果附件发我 hazhangxiaowei@sina.com 看到结果OK算分了 ~~ 我是想做个11选5的正态分布图,有结果就可以了
Private Function Ps(Za As Integer, Zb As Integer, Zc As Integer, Zd As Integer, Ze As Integer)
Dim I1 As Integer, I2 As Integer, I3 As Integer, I4 As Integer, I5 As Integer
Dim Zf(1 To 5) As String, Xzf(1 To 5) As String
Zf(1) = Za
Zf(2) = Zb
Zf(3) = Zc
Zf(4) = Zd
Zf(5) = Ze
For I1 = 1 To 5
Xzf(1) = Zf(I1)
For I2 = 1 To 5
Xzf(2) = Zf(I2)
If Xzf(1) = Xzf(2) Then GoTo L2
For I3 = 1 To 5
Xzf(3) = Zf(I3)
If Xzf(3) = Xzf(1) Or Xzf(3) = Xzf(2) Then GoTo L3
For I4 = 1 To 5
Xzf(4) = Zf(I4)
If Zf(I4) = Xzf(1) Or Zf(I4) = Xzf(2) Or Zf(I4) = Xzf(3) Then GoTo L4
For I5 = 1 To 5
Xzf(5) = Zf(I5)
If Xzf(5) Zf(I4) And Xzf(5) Xzf(3) And Xzf(5) Xzf(2) And Xzf(5) Xzf(1) Then
Open App.Path & "\排列.txt" For Append As #1
Print #1, Xzf(1) & Xzf(2) & Xzf(3) & Zf(I4) & Xzf(5),
Close #1
End If
Next I5
L4:
Next I4
L3:
Next I3
L2:
Next I2
Next I1
End Function
Private Sub Command1_Click()
Dim I1 As Integer, I2 As Integer, I3 As Integer, I4 As Integer, I5 As Integer
Dim Sz(1 To 11)
Open App.Path & "\排列.txt" For Output As #1
Close #1
For I1 = 1 To 7
For I2 = I1 + 1 To 8
For I3 = I1 + 2 To 9
For I4 = I1 + 3 To 10
For I5 = I1 + 4 To 11
DoEvents
Label1 = I1 & I2 & I3 & I4 & I5
Ps I1, I2, I3, I4, I5
Next I5, I4, I3, I2, I1
Label1 = "完成,结果保存在" & App.Path & "\排列.txt"
End Sub
再问: 这运行显示错误,是不是我没定义好?我自己弄了个命令按钮和标签,名字改为了程序中的名字,执行后就出错了
再答: 你好像用的不是VB6.0?我是用6.0编的。
再问: 我用的EXCEL附带的VBA 应该一样的吧? 实在不行您把结果附件发我 hazhangxiaowei@sina.com 看到结果OK算分了 ~~ 我是想做个11选5的正态分布图,有结果就可以了
1、2、3、4、0五个数字能组成多少个数字不重复的三位数
用0,1,2,3,4,五个数字组成不重复的五位数中,从小到大排列的第86个数是哪个数?
1,2,3,4,5五个数字中取两个数组成没有重复数字的两位数,则这个数是偶数的概率为
用1,2,3这三个数任意排列,可组成多少个数字不重复的三位数?在这些三位数中是11的倍数的数有哪些?
奥数 答案及解题过程 跪求大家帮帮忙吧,题目:用0,1,2,3,4五个数字,共可组成( )个数字不重复的三位数
用1到5这五个不同数字可以组成120个不同的五位数,把他们从小到大排列,第25个是什么数?
从1到9这9个数字中任意取三个数字组成一个没有重复数字的3位数,这个数不能被3整除的概率为多少
用1、2、3、4、5这五个数可以组成多少个没有重复数字且1与2不相邻的三位数
由1到5这五个数可组成多少个首位是偶数,没有重复数字的五位奇数
用0,1,2,3,4,五个数字组成无重复数字的四位数,若按从小到大排列,3204是第几个数字?
从1-5五个数中任取三个数组成可以重复的排列数,有多少组合?
求Excel排列组合的函数?M=1到11共11个数.N=5 五个数在分别在A,B,C,D,E列,要求数字不重复且a<b.