logo CodeStepByStep logo

coinFlip

Language/Type: JavaScript parameters Random

Write a function named coinFlip that simulates repeatedly flipping a two-sided coin until a particular side (Heads or Tails) comes up several times consecutively (in a row). Your function should accept two parameters, an integer k and a character side, where side is expected to be 'H' for Heads or 'T' for Tails. You should keep simulating the flipping of the coin until k occurrences of the given side are seen consecutively. For example, if the call is coinFlip(3, 'H') , you should flip the coin until Heads is seen 3 times in a row. Here is an example output from the call of coinFlip(4, 'T'):

T H T H T T H T T H H T H H H H H T T T T
You got T 4 times in a row!

If a negative k is passed, and/or a side value is passed that is not 'H' or 'T', your function should throw an exception with the message k must be non-negative and side must be 'H' or 'T'.

Use Math.random to give an equal chance to a head or a tail appearing. Each time the coin is flipped, what is seen is displayed (H for heads, T for tails), separated by spaces. When k consecutive occurrences of the given side occur, a congratulatory message is printed. Match our output format exactly.

Function: Write a JavaScript function as described, not a complete program.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? Contact your TA or instructor.

If something seems wrong with our site, please

Is there a problem? Contact us.