返回列表 上一主題 發帖

[發問] 排列組合題目(1~10的所有組合)有大大能破解嗎?

[發問] 排列組合題目(1~10的所有組合)有大大能破解嗎?

各位先進大家好
小弟最近在研究排列組合
想請教各位大大
若想要從1~10個號碼裡面跑完所有的排列組合
10取1~10取10
一共會產生出1,023個組合,算法如下方
For I = 1 To 10
    x = x + Application.Combin(10, I)
Next
但這1,023個組合要如何才能產生出來呢?
請問哪位大大有辦法破解嗎?
PKKO

小弟提供拙見,下列是10取4的方式
但要如何從10取1到10取10?
總不能寫了下方的程式碼,然後寫十遍吧= =?
  1. Sub 排列組合_不重複()
  2. Dim ar(), br(), x&, y&, z&, n&
  3. ReDim br(1 To Application.Combin(10, 4), 1 To 4)
  4. ReDim ar(1 To 10, 1 To 1)
  5. For i = 1 To 10
  6.     ar(i, 1) = i
  7. Next
  8. For w = 1 To UBound(ar) - 3
  9.     For x = w + 1 To UBound(ar) - 2
  10.         For y = x + 1 To UBound(ar) - 1
  11.             For z = y + 1 To UBound(ar)
  12.                 n = n + 1
  13.                 br(n, 1) = ar(w, 1)
  14.                 br(n, 2) = ar(x, 1)
  15.                 br(n, 3) = ar(y, 1)
  16.                 br(n, 4) = ar(z, 1)
  17.             Next
  18.         Next
  19.     Next
  20. Next
  21. Range("a2").Resize(n, 4) = br
  22. MsgBox "操作完成,共生成" & n & "個組合"
  23. End Sub
複製代碼
PKKO

TOP

回復 3# stillfish00


    S大您好,非常感謝您的協助
已經多次得到您的幫忙,感激不盡!
程式碼小弟先拜讀一下^_^
PKKO

TOP

回復 5# stillfish00


沒問題!
那邊是預先建立放置資料的陣列
感謝您的細心!
PKKO

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題