Mal sehen, wie gut Ihre bevorzugte Sprache bei selektiver Zufälligkeit ist.
Gegeben 4 Zeichen, A
, B
, C
, und D
, oder eine Kette von 4 Zeichen ABCD
als Eingabe , Ausgabe eines des Zeichens mit den folgenden Wahrscheinlichkeiten:
A
sollte eine Chance von 1/8 (12,5%) haben, gewählt zu werdenB
sollte eine 3/8 (37,5%) Chance haben, gewählt zu werdenC
sollte eine 2/8 (25%) Chance haben gewählt zu werdenD
sollte eine 2/8 (25%) Chance haben gewählt zu werden
Dies entspricht dem folgenden Plinko- Maschinenlayout:
^
^ ^
^ ^ ^
A B \ /
^
C D
Ihre Antwort muss einen echten Versuch machen, die beschriebenen Wahrscheinlichkeiten zu respektieren. Es reicht aus, zu erklären, wie Wahrscheinlichkeiten in Ihrer Antwort berechnet werden (und warum sie die Spezifikationen einhalten, wobei Pseudozufälligkeiten und Probleme mit großen Zahlen unberücksichtigt bleiben).
Wertung
Dies ist Codegolf, so dass die wenigsten Bytes in jeder Sprache gewinnen!
ceil(abs(i - 6)/ 2.0)
einen Index von 0-7
auf einen Index von 0-3
mit der entsprechenden Distribution ( 0 111 22 33
) für diese Herausforderung abbildet ...