I know Math.random() generates random numbers, my question is:

1.What is going on by comparing it to .5 (or 50%)?

2.How does that trigger the if statement into working?

3.Is Math.random() getting its numbers from the variable1?

variable1 = 8; while (variable1 > 0){ If(Math.random() < .5){ variable1--; } }

## Answer

variable1 = 8; while (variable1 > 0){ If(Math.random() < .5){ variable1--; } }

- What is going on by comparing it to .5 (or 50%)?

It’s like flipping a coin.

`Math.random`

returns a number between 0 and 1. It’s ‘heads’ if less than .5, ‘tails’ if it’s over.`variable1`

which starts at 8, gets subtracted by 1 every time (and only if) the coin flipped is ‘heads’

- How does that trigger the if statement into working?

Until

`variable1`

subtracts down to less than 0, this loop will repeat and process the`if`

condition

- Is Math.random() getting its numbers from
`variable1`

?

No, Math.random() is just generating a new number each time the if statement gets processed.

`variable1`

is only changed when`Math.random()`

is less than .5

Random, being what it is, could mean this `while`

loop repeats infinitely. It’s unlikely, but there’s no law that says you ever have to eventually get tails on the flip.