## Quick Solution

```
function randomRange(myMin, myMax) {
return Math.floor(Math.random() * (myMax - myMin + 1) + myMin);
}
```

## Code Explanation

`Math.random()`

generates our random number between 0 and ≈ 0.9.- Before multiplying it, it resolves the part between parenthesis
`(myMax - myMin + 1)`

because of the grouping operator`( )`

. - The result of that multiplication is followed by adding
`myMin`

and then "rounded" to the largest integer less than or equal to it (eg: 9.9 would result in 9)

If the values were `myMin = 1, myMax= 10`

, one result could be the following:

`Math.random() = 0.8244326990411024`

`(myMax - myMin + 1) = 10 - 1 + 1 -> 10`

`a * b = 8.244326990411024`

`c + myMin = 9.244326990411024`

`Math.floor(9.244326990411024) = 9`

`randomRange`

should use both `myMax`

and `myMin`

, and return a random number in your range.

You cannot pass the test if you are only re-using the function `ourRandomRange`

inside your `randomRange`

formula. You need to write your own formula that uses the variables `myMax`

and `myMin`

. It will do the same job as using `ourRandomRange`

, but ensures that you have understood the principles of the `Math.floor()`

and `Math.random()`

functions.