Generate Random Whole Numbers within a Range - help

Tell us what’s happening:
I did not understand this at all

Your code so far

// Example
function ourRandomRange(ourMin, ourMax) {

  return Math.floor(Math.random() * (ourMax - ourMin + 1)) + ourMin;

ourRandomRange(1, 9);

// Only change code below this line.

function randomRange(myMin, myMax) {

  return (Math.floor(Math.random() * (myMax - myMin + 1) + myMin)); // Change this line


// Change these values to test your function
var myRandom = randomRange(5, 15);

Your browser information:

Your Browser User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0.

Link to the challenge:

Your code works so I guess you don’t understand how it works.

Math.random returns a floating point (decimal) number such that 0 <= num < 1. We want a number that has a range that is a difference of min and max. If min and max are 5 and 20, then we want a range of 15. But wait, we actually want 16, because there are 16 possible numbers between 5 and 20 if we include both 5 and 15 (hence the +1). So, we generate our number, multiply it by our range, then add our min (to boost it back up to start at 5) and floor it, round it down.

Here is a pen to show you what is happening. If you run it and open up the browser console (crtrl-shft-j) it will show you how many of each number it gets in the random trials. You can monkey with the numbers to see how it works.


Thanks, that was well explained

Thank you now I got it

thanks this helped me a lot!!!