Powerball ist eine amerikanische Lotterie, die in letzter Zeit auf sich aufmerksam gemacht hat, da der aktuelle Jackpot (Stand: 11. Januar 2016) mit rund 1,5 Mrd. USD der größte Lottopreis in der Geschichte ist .
Powerball-Spieler wählen aus 69 nummerierten weißen Bällen 5 verschiedene Zahlen und aus 26 nummerierten roten Bällen eine "Powerball" -Nummer. Sie gewinnen den Jackpot, wenn ihre fünf weißen Ballwahlen mit der gezogenen Reihenfolge übereinstimmen und wenn sie die richtige "Powerball" -Nummer gewählt haben.
Also die Chancen, den Jackpot zu gewinnen sind 1 in (69 choose 5)*(26 choose 1)
oder ((69*68*67*66*65)/(5*4*3*2*1))*26
, das ist 1 in 292.201.338
Niemand hat den Jackpot in der letzten Ziehung am 9. Januar 2016 gewonnen, aber vielleicht gewinnt jemand die nächste Ziehung am 13. Januar 2016, 22:59 Uhr ET.
Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die eine Powerball - Zeichnung simuliert, indem Sie 5 verschiedene Zufallszahlen von 1 bis einschließlich 69 und dann eine zufällige "Powerball" - Zahl von 1 bis einschließlich 26 eingeben (was eine Wiederholung einer der 5 sein könnte) Anfangszahlen).
Die "Powerball" -Nummer sollte immer die letzte Nummer in der Ausgabe sein, ansonsten spielt die Reihenfolge der ersten 5 Nummern keine Rolle.
Die 6 Zahlen sollten in Dezimalzahlen ausgegeben werden , entweder durch Leerzeichen oder durch Zeilenumbrüche getrennt, und optional durch eine einzelne nachgestellte Zeile. Kommas, Klammern und andere Zeichen sind in der Ausgabe nicht zulässig.
Das wären also gültige Ausgaben (unter Verwendung der Zahlen aus der letzten Zeichnung ):
32 16 19 57 34 13
32
16
19
57
34
13
Alle 292201338 möglichen Ergebnisse sollten mit einheitlicher Wahrscheinlichkeit möglich sein. Sie können integrierte Pseudozufallszahlengeneratoren verwenden und davon ausgehen, dass diese diesen Standard erfüllen.
Hier ist eine unbenutzte Referenzimplementierung, die in Python 2 oder 3 funktioniert:
import random
print(' '.join(map(str, random.sample(range(1,70), 5) + [random.randint(1, 26)])))
Der kürzeste Code in Bytes gewinnt.
Beachten Sie, dass ich keine Beziehung zu Powerball habe und nicht wirklich vorschlage, dass Sie spielen. Aber wenn Sie irgendetwas aus Zahlen gewinnen, die von einem der Programme hier generiert wurden, würden wir sicher gerne davon hören. : D
5! = 5*4*3*2*1
Möglichkeiten, 5 Dinge zu arrangieren, sodass Sie dies herausrechnen.