Lotto 6 aus 49

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Ziehungsgerät zum Lotto 6 aus 49

Autor: Veit Berger (2014)

Inhaltsverzeichnis

Vorüberlegungen

In einer beliebigen Anzahl sollen Lottoziehungen 6 aus 49 simuliert werden.
Zunächst ist es kein Problem, Zufallszahlen zwischen 1 und 49 zu bestimmen (s. Prozeduren mit Zeichenketten und Listen).
Wir sollten aber daran denken, dass diese Zahlen ohne Zurücklegen gezogen werden und damit paarweise verschieden sein müssen.

Algorithmus

Wir wollen uns für eine endständig rekursive Problemlösung entscheiden, in der wir eine Liste mit korrekten Lottozahlen im rekursiven Abstieg einer entsprechenden Prozedur bilden. Mit einer Zählvariablen steuern wir den Ablauf:

  • Falls der Zähler Null ist, gib die vollständige Liste einer Lottoziehung zurück.
  • Anderenfalls lege eine Zufallszahl zwischen 1 und 49 fest.
  • Prüfe, ob sie bereits Element der aktuellen Teilziehung ist.
  • Trifft dieser Fall zu, wiederhole die Ziehung bei unverändertem Zählerstand.
  • Anderenfalls füge die Zufallszahl zur Teilziehung hinzu und führe die Ziehung bei dem um 1 verminderten Zähler fort.

Implementation

Um eine aufsteigend sortierte Lottoziehung zu ermitteln, modifizieren wir den Listen-Konstruktor cons geringfügig zu cons-sort.

Gleichverteilung der Lottozahlen

Wir wollen uns von einer hinreichenden Güte der Lottozahlen überzeugen.
Dazu zählen wir das Auftreten jeder gezogenen Lottozahl in einer 49-elementigen Liste. Bei einer großen Anzahl von Ziehungen müsste sich eine Gleichverteilung der Lottozahlen ergeben. Diese visualisieren wir in einem Balkendiagramm (s. Mehrfachrekursionen).
Zur Erinnerung sei nachfolgend die Syntax der Prozedur balkendiagramm für numerische Listen angegeben:

(balkendiagramm <ls>) ; <ls> ... Liste mit Zahlenwerten

Gewinnchancen

Welche Gewinnchancen haben wir beim Lotto?
Zu einem eigenen Tipp wollen wir zählen, wie oft eine Zahl, zwei Zahlen, drei Zahlen usw. übereinstimmen. Wir beachten dabei, dass im mathematischen Sinne ein "Sechser" auch ein "Fünfer" ist, da zur Übereinstimmung von sechs Zahlen natürlich erst recht fünf Zahlen richtig sein müssen.

Erstaunlicherweise ist die Wahrscheinlichkeit, eine Zahl richtig zu haben, höher als die, bei der keine Zahl übereinstimmt!

Zurück zum Algorithmusbegriff.

Persönliche Werkzeuge