Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kombinatorik

Forumthread: Kombinatorik

Kombinatorik
15.09.2003 11:48:37
Tobi
Hallo Leute,
Wie kann ich in XL eine Liste der möglichen Kombinationen
ohne Wdh. ausgeben. Z.B. n=10, k=4 (4 aus 10)

Danke schon mal, Gruß
Tobi
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kombinatorik
15.09.2003 12:26:35
Holger Levetzow
versuche folgenden Code (Datei ist hochgeladen https://www.herber.de/bbs/user/1031.xls
)

Dim anzahl As Integer
Dim zeile As Long
Dim spalte As Integer

Sub kombin()
Dim a() As Byte
Application.ScreenUpdating = False
zahl = Range("N1")
anzahl = Range("K1")
ReDim a(anzahl - 1)
zeile = 1 'Ausgabe beginnt in Zeile 1
'Berechnung Anzahl der Kombinationen zur Info
o = 1
u1 = 1
u2 = 1
n = zahl
k = anzahl
For i = 1 To n
o = o * i
Next
For i = 1 To n - k
u1 = u1 * i
Next
For i = 1 To k
u2 = u2 * i
Next
MsgBox ("es gibt " & o / u1 / u2 & " Kombinationen")
'weiter mit Ausgabe
wieviel = 65500 'max 65500 Zahlenreihen wegen Blattlänge
spalte = 1 'bei Spalte 1 beginnen
For j = 0 To anzahl - 1
If j = 0 Then
a(j) = 1
Else: a(j) = a(j - 1) + 1
End If
Next
ausgabe (a)
j = 1
Do While j < wieviel
s = anzahl - 1
If a(s) < zahl Then
a(s) = a(s) + 1
Else
s = anzahl - 1
Do
s = s - 1
If s = -1 Then Exit Sub
Loop Until a(s) < zahl And a(s) + anzahl - s <= zahl
a(s) = a(s) + 1
For i = s + 1 To anzahl - 1
a(i) = a(i - 1) + 1
Next
End If
ausgabe (a)
j = j + 1
Loop
Application.ScreenUpdating = True
End Sub


Sub ausgabe(a)
For i = 0 To anzahl - 1
Cells(zeile, spalte + i) = a(i)
Next
zeile = zeile + 1
End Sub


mfg Holger
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige