In un puzzle in un mio vecchio libro, viene definito un gioco in cui due giocatori scelgono sequenze di lanci di monete che credono appaiano per prime quando una moneta viene ripetutamente lanciata. (In realtà era un tiro di dadi dispari e persino, ma questo piccolo dettaglio non importa in termini di equivalenza del problema.)
Si noti che se il giocatore 1 sceglie TTT
e il giocatore 2 sceglie HTT
, quel giocatore 2 ha una probabilità di 7/8 di vincere la partita, poiché l'unico modoTTT
può venire prima HTT
è se i primi tre lanci sono tutti code.
Il tuo compito è creare un programma o una funzione che deduca la probabilità che una delle due sequenze scelte venga prima. Il tuo programma prenderà due righe di input (o due stringhe come argomenti), ognuna delle quali rappresenta una sequenza di lunghezza 10 o inferiore:
HTT
TTT
E genera la probabilità che il primo giocatore vincerà, in forma di frazione o decimale:
7/8
0.875
Il codice più breve per farlo in qualsiasi lingua vince.