In einem Puzzle in einem alten Buch von mir wird ein Spiel definiert, in dem zwei Spieler Sequenzen von Münzwürfen auswählen, von denen sie glauben, dass sie zuerst erscheinen, wenn eine Münze wiederholt geworfen wird. (Eigentlich war es ein ungerader und ein gerader Würfelwurf, aber dieses kleine Detail spielt in Bezug auf die Problemäquivalenz keine Rolle.)
Es wird darauf hingewiesen, dass Spieler 1 TTT
und Spieler 2 HTT
eine 7/8-Chance haben, das Spiel zu gewinnen, da der einzige Weg TTT
davor bestehen kann, HTT
wenn die ersten drei Flips allesamt "Tails" sind.
Ihre Aufgabe ist es, ein Programm oder eine Funktion zu erstellen, die die Wahrscheinlichkeit herleiten, dass eine von zwei ausgewählten Sequenzen an erster Stelle steht. Ihr Programm verwendet zwei Eingabezeilen (oder zwei Zeichenfolgen als Argumente), die jeweils eine Sequenz mit einer Länge von 10 oder weniger darstellen:
HTT
TTT
Und die Wahrscheinlichkeit ausgeben, dass die erste Spieler gewinnt, entweder als Bruch oder als Dezimalzahl:
7/8
0.875
Der kürzeste Code, um dies in einer Sprache zu tun, gewinnt.