回复 楼主 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 编辑 ]