curriculum/challenges/english/blocks/basic-javascript/cf1111c1c12feddfaeb2bdef.md
You can generate a random whole number in the range from zero to a given number. You can also pick a different lower number for this range.
You'll call your minimum number min and your maximum number max.
This formula gives a random whole number in the range from min to max. Take a moment to read it and try to understand what this code is doing:
Math.floor(Math.random() * (max - min + 1)) + min
Create a function called randomRange that takes a range myMin and myMax and returns a random whole number that's greater than or equal to myMin and less than or equal to myMax.
The lowest random number that can be generated by randomRange should be equal to your minimum number, myMin.
assert(
(function () {
if (typeof randomRange !== 'function') {
return false;
}
var calcMin = 100;
for (var i = 0; i < 100; i++) {
var result = randomRange(5, 15);
calcMin = Math.min(calcMin, result);
}
return calcMin === 5;
})()
);
The highest random number that can be generated by randomRange should be equal to your maximum number, myMax.
assert(
(function () {
if (typeof randomRange !== 'function') {
return false;
}
var calcMax = -100;
for (var i = 0; i < 100; i++) {
var result = randomRange(5, 15);
calcMax = Math.max(calcMax, result);
}
return calcMax === 15;
})()
);
The random number generated by randomRange should be an integer, not a decimal.
assert(randomRange(0, 1) % 1 === 0);
randomRange should use both myMax and myMin, and return a random number in your range.
assert(
(function () {
if (
__helpers.removeJSComments(code).match(/myMax/g).length > 1 &&
__helpers.removeJSComments(code).match(/myMin/g).length > 2 &&
__helpers.removeJSComments(code).match(/Math.floor/g) &&
__helpers.removeJSComments(code).match(/Math.random/g)
) {
return true;
} else {
return false;
}
})()
);
function randomRange(myMin, myMax) {
return 0;
}
function randomRange(myMin, myMax) {
return Math.floor(Math.random() * (myMax - myMin + 1)) + myMin;
}