Fråga : Kombinationsgenerator

HI

I önskar att frambringa alla möjlighetkombinationer av numrerar från ett givet tillträde. Storleksanpassa kan vara 1 röding till 4 rödingar, vad är den olika här uppsättningen för it
the. Inga repetitioner är tillåtna,

eg.
ABCD

would frambringar efter.

I bör få 2^n - 1, i detta fall 2^4 - 1 = 15 som results

A
AB
ABC
ABCD
B
BC
BCD
C
CD
D
AC
ACD
ABD
AD
BD

is 15

What är den bäst VBEN/VBA kodifierar för att skapa this

Thanks
" klar "

Svar : Kombinationsgenerator

Hi Henry,

behaga försök som detta kodifierar. Det ska tillverkat till det omgående fönstret, mig använde uttrycker VBA.

Alex
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Underkombinationer ()
Const MYSET som stränger = ”A, B, C, D, E, F”   'värderar any avgränsat vid”, ”,
Dunkla aElems () som stränger, aNibs (7) som byte, I som heltal, j som heltalet, nElems som heltal, s som stränger

aElems () = splittring (MYSET, ”,”)
nElems = UBound (aElems)
Om nElems > 7 därefter MsgBox ”för många beståndsdelar: ” & nElems + 1: Gå ut suben

aNibs (0) = 1: aNibs (1) = 2: aNibs (2) = 4: aNibs (3) = 8: aNibs (4) = 16: aNibs (5) = 32: aNibs (6) = 64: aNibs (7) = 128
För I = 1 till ^ 2 (nElems + 1) - 1
    s = "",
    För j = 0 till nElems
        Om I och aNibs (j) därefter s = s & aElems (j)
    Därefter
    Debug.Print s
Därefter
Avsluta suben
Andra lösningar  
 
programming4us programming4us