Lotto spielen. 6 aus 49. Eigene Zahlen zufällig generieren.
Von meinen eigenen 28 "Familien"-zahlen möchte ich mit einem Zufallsgenerator 6 Lottozahlen ermitteln. Was ich bisher gefunden habe, sind die üblichen Zufalls- generatoren für die Zahlen von 1 bis 49. Das will ich aber nicht.
Gibt es vielleicht eine Möglichkeit, meine eigene Zahlen auf einer Exceltabelle so durcheinander zu mischen, dass als Resultat nur noch SECHS davon übrig bleiben oder separiert werden?
4 Antworten
Für den Iterationsrechner ist es nur 1 Zeile Code:
http://www.gerdlamprecht.de/Roemisch_JAVA.htm#@Cfloor(random() * aD[0])]@NIM=2;aC=Array(2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,49,47,45,43);a=aC.length;aD[0]=a-1e-13;@N@Bi]=Fx(0);while(IsValInArrayIndex(@Bi],aB,i-1)){@Bi]=Fx(0);}@Ni==5@N0@N0@N#
(LINK endet mit N# und beinhaltet den Code)
Im Feld aC kannst Du Deine 28 "Familien"-Zahlen hinterlegen.
Fx pickt 6 davon heraus und übergibt sie an Array aB.
IsValInArrayIndex kümmert sich um die Verhinderung von Doppelungen.

Frage ruhig, wenn Funktionen oder Syntax nicht klar.
random() erzeugt Zufallszahl von 0.0 ... 0.999999
Die Arraylänge wird in aD[0] gespeichert
floor sorgt für das Abrunden auf ganze Zahl
So erzeigt Fx(x) eine von Deinen 28 Wunschzahlen.
Wenn eine Wunschzahl schon im Array (Zahlenfeld) aB[ ] enthalten, wird Fx nochmals aufgerufen.
Es soll natürlich "erzeugt" lauten.
Hier noch eine andere "Zufallsfunktion" für 0...27, die von Dir und Dein PC beeinflusst wird:
(Date2Tage(new Date()) * 1e10-7e15)%28
Wenn Du also aC[floor(random() * aD[0])] ersetzt durch
aC[(Date2Tage(new Date()) * 1e10-7e15)%aD[0]]
und aD[0] = a; (also ohne -1e-13)
dann ist es kein Pseudozufallsgenerator (mathematisch fest vorgegeben)
sondern eine Zufallsfunktion, die im Millisekunden-Takt den Zahlenwert ändert.
Da Du nicht die innere Uhr des PC auf die ms genau kennst und die Werte auch noch per Modulo gewandelt werden, finde ich diesen Zufall noch besser.
(Abergläubische Menschen nehmen ihre Kinder oder Tiere zum Start des Generators :-)
Um die Laufzeit (die jetzt unter 8ms beträgt) auch noch variabel zu gestalten, kann man in der Iterationsformel-Zeile b=bigc(15,(new Date() * 0.5).toString(),40);
hinzufügen.
Damit läuft der Code 300 ... 900 ms lang, d.h. jede Folgezahl ist auch wieder unabhängig (genauer PC-Zeit-Abhängig) bezüglich der vorhergehenden...
Gerade habe ich es erfolgreich ausgeführt und bin schwer beeindruckt. Vielen Dank! Wenn jetzt noch meine Zahlen gezogen werden, kennt mein Glück keine Grenzen.
Mit Excel kannst du das ziemlich einfach machen. Du nummerierst deine 28 Zahlen von 0 bis 27 durch und lässt dir dann von Excel 6 Zufallszahlen erzeugen zwischen 0 und 27 (=ZUFALLSBEREICH(0;27)). Dann schaust du nach, welche Zahl diese Nummer hat -> fertig.
Hier geht es nur um meine 28 Zahlen innerhalb von 1 bis 48, also nicht fortlaufend von 0 bis 27. Davon sollen nur 6 durch einen Zufallsgenerator ermittelt werden. Ich könnte auch mit einem Systemschein meine 28 Zahlen ankreuzen. Der Gewinn würde sich nur nicht lohnen.
Das habe ich schon verstanden. Zunächst sollst du deine Zahlen ja durchnummerieren, also jeder deiner Zahlen eine Zahl zwischen 0 und 27 zuordnen.
Angenommen, ich wollte aus 5 Zahlen 2 auswählen. Meine fünf Zahlen sind dann meinetwegen
1, 23, 24, 32, 44
Die nummeriere ich durch
0 -> 1
1 -> 23
2 -> 24
3 -> 32
4 -> 44.
Jetzt lasse ich mir zwei Zufallszahlen zwischen 0 und 4 geben. Meinetwegen kommt da dann 2 und 4 heraus. Dann schaue ich in die Tabelle: 2 entspricht 24, 4 entspricht 44.
Die ausgewählten Zahlen sind dann 24 und 44.
Das mit der Zuordnung der Tabelle geht auch mit Excel.
Dann lässt du von
Das geht z. B. mit der Wahlfunktion:
=WAHL(ZUFALLSBEREICH(1;5);1;23;24;32;44)
wählt mir zufällig eine meiner fünf Zahlen aus. Mach das für deine lange Liste einfach entsprechend. Dann musst du dir nur noch Gedanken über doppelte Einträge machen.
Das kann ich einfacher haben: http://www.zufallsgenerator.net/ 1.) wähle den Punkt neue Lottozahlen generieren; 2.) nehme die Exceltabelle mit den 28 Familienzahlen von 1 bis 48; 3.) generierte Übereinstimmungen kann man dann auf den Lottoschein übertragen
Trotzdem sage ich DANKE!
Für iOS gibt es auch eine tolle App. Diese kann sowohl 6aus49 als auch die Eurojackpot Zahlen so mischen wie du das gerne hättest.
Sie heißt "Lotto-Mixer" im Apple App Store
Hier auch der link: https://apple.co/2PPR5Ro
Wenn das das berühmte Gemeinschaftslotto ist, kannst du mischen so viel wie du willst. Dein Gewinn wird höchstens kleiner, weil du ja immer teilen musst. Bin rausgegangen, weil ich bei 4 Richtigen 0,30€ rausbekommen habe. Lohnt nicht.
Toll, danke, aber das muss ich erst einmal verdauen!