Brain Teaser Solver

Brain Teaser Solver: Compute the expected time to get a given sequence of independent outcomes.


Updated 30 Mar 2009

View License

The function OutcomeSequence.m solve brain teasers such as:

1. You toss a coin, what is the expected number of tosses for you to get the sequence 'Tails-Heads-Tails' ?

2. You throw a dice, what is the expected number of throws for you to get the sequence '1, 2, 3, 2, 1' ?

3. You randomly hit your keyboard, what is the expected number of keys you have to hit to get the sequence 'ABRACADABRA' ?

4. You play one poker game everyday. Assume you are likely to win 1 out of 4 games you play. What is the expected number of days you have to play to win 3 times in a row ?

Function details:
OutcomeSequence(Sequence, N_Outcomes)

- Sequence: sequence (row vector) of numbers representing the different possible outcomes. The occurrence times of those outcomes are assumed to be I.I.D. random variables, i.e. the outcomes occur independently of each other and are equally likely to happen.
- N_Outcomes: number of different possible (independent) outcomes.

- Expected_Time: expected time to get the input sequence of outcomes. This time would correspond to a number of tosses of a coin, throws of a dice and so on depending on the problem considered.

Cite As

Rodolphe Sitter (2023). Brain Teaser Solver (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Strategy & Logic in Help Center and MATLAB Answers

Inspired by: Kernel Smoothing Regression

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

more examples in comments