Lotto spielen. 6 aus 49. Eigene Zahlen zufällig generieren.

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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.

6 aus 28 zufälligen Wunschzahlen - (Mathematik, Lotto)

HotelKaries 
Beitragsersteller
 09.11.2014, 17:26

Toll, danke, aber das muss ich erst einmal verdauen!

hypergerd  09.11.2014, 18:12
@HotelKaries

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.

hypergerd  09.11.2014, 18:53
@hypergerd

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...

HotelKaries 
Beitragsersteller
 14.11.2014, 17:17
@hypergerd

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.

Woher ich das weiß:Studium / Ausbildung – Dipl.-Math. :-)

HotelKaries 
Beitragsersteller
 08.11.2014, 18:54

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.

FataMorgana2010  08.11.2014, 19:15
@HotelKaries

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

FataMorgana2010  08.11.2014, 19:22
@FataMorgana2010

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.

HotelKaries 
Beitragsersteller
 09.11.2014, 17:38
@FataMorgana2010

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.


HotelKaries 
Beitragsersteller
 08.11.2014, 18:53

Das hat nichts mit Gemeinschaftslotto zu tun.