回复 楼主 wenchen1987
											产生6个互不相等的1-50内的数
程序代码:Private Sub Command1_Click()
  Dim i As Integer
  Dim j As Integer
  Dim a(1 To 6) As Integer
  Randomize
  For i = 1 To 6
    a(i) = Int((50) * Rnd + 1)
    For j = 1 To i
      If j <> i Then
        While (a(i) = a(j))
          a(i) = Int((50) * Rnd + 1)
        Wend
      End If
    Next
    Text1.Text = Text1.Text & a(i) & " "
  Next
  Text1.Text = Text1.Text & vbCrLf
End Sub
第2个按钮是不是手动输入6个数,再自动排序?如果是这样,建1个数组a(1 to 6),分别赋值1 to 6。
进行6次选择,每次选择后,剔除被选元素,得到新数组,再进行下一次随机选择。
第n次(n是1至6)在1至7-n中随机选1个数。
还有一个办法,先全排列1至6,总共720种,再在720种里随机得到你需要的互不相等的组合的种数。
不知道n1+1 n2+2 n1+3是什么意思。
[ 本帖最后由 lianyicq 于 2015-7-2 09:24 编辑 ]



											
	    

	

