Sie müssen einen zufälligen 18-Loch-Golfplatz erstellen.
Beispielausgabe:
[3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4]
Regeln:
- Ihr Programm muss eine Liste mit Lochlängen für genau 18 Löcher ausgeben
- Jedes Loch muss eine Länge von 3, 4 oder 5 haben
- Die Lochlängen müssen für den gesamten Platz 72 betragen
- Ihr Programm muss in der Lage sein, jede mögliche Lochkonfiguration mit einer Wahrscheinlichkeit ungleich Null zu erstellen (die Wahrscheinlichkeiten jeder Konfiguration müssen nicht gleich sein, in diesem Fall können Sie jedoch zusätzliche Anerkennung einfordern).
4
, und die einzigen Möglichkeiten sind 3
, 4
oder 5
die möglichen Lösungsklassen { no 3's or 5's
, one 3 and one 5
, two 3's and two 5's
, ..., nine 3's and nine 5's
}. Dies kann mit berechnet werden nCr(18,0)*nCr(18,0) + nCr(18,1)*nCr(17,1) + nCr(18,2)*nCr(16,2) + ... + nCr(18,9)*nCr(9,9) = 44,152,809
. Dies bedeutet, dass ungefähr 11.4%
alle möglichen Kombinationen gültige Lösungen sind (44,152,809 / 3^18)
.
sum(factorial(18)/factorial(x)/factorial(y)/factorial(z) for x in range(25) for y in range(25) for z in range(25) if 3*x+4*y+5*z == 72 and x+y+z == 18)
gibt44152809L