Lotto 6 aus 45 - jede Zahl genau 2 Mal getippt
01.05.2024 11:28:01
Mikaes
ich habe gerade an einer Lösung für folgendes Problem gebastelt: Es sollen 15 Tipps (in Summe 90 Zahlen) für Lotto 6aus45 zufällig generiert werden, dabei soll jede Zahl genau 2 Mal verwendet werden. Die Lösung unten funktioniert für diesen Zweck soweit.
-> Nur wirklich schön/elegant ist sie selbst in meinen Augen etwas anderes
-> Vielleicht hat jemand Zeit dies auf Verbesserungspotential hin zu prüfen - fällt jemandem eine bessere Lösung ein? Vielleicht etwas das man auch nach oben hin dimensionieren könnte (z.B. genau 4 x/Zahl bei 180 Zahlen etc.)?
Private Sub Lotto()
Range("C3:Q47").ClearContents
Dim gezogen() As Boolean, x, y, z, arr(1 To 15, 1 To 6)
ReDim gezogen(1 To 45)
Randomize
For x = 1 To 7
For y = 1 To 6
Do
z = Int(Rnd * 45) + 1
Loop Until Not gezogen(z)
gezogen(z) = True
arr(x, y) = z
Next y
Next x
y = 1
For x = 1 To 45
If gezogen(x) = False Then
arr(8, y) = x
y = y + 1
End If
Next x
ReDim gezogen(1 To 45)
For x = 1 To 3
gezogen(arr(8, x)) = True
Next x
For x = 4 To 6
Do
z = Int(Rnd * 45) + 1
Loop Until Not gezogen(z)
gezogen(z) = True
arr(8, x) = z
Next x
For x = 1 To 3
gezogen(arr(8, x)) = False
Next x
For x = 9 To 15
For y = 1 To 6
Do
z = Int(Rnd * 45) + 1
Loop Until Not gezogen(z)
gezogen(z) = True
arr(x, y) = z
Next y
Next x
For x = 1 To 15
For y = 1 To 6
Cells(arr(x, y) + 2, x + 2) = 1
Next y
Next x
End Sub
Gruß Michael
Anzeige