# Concept of Basic JavaScript: Generate Random Whole Numbers within a RangePassed

**URL:** <https://forum.freecodecamp.org/t/concept-of-basic-javascript-generate-random-whole-numbers-within-a-rangepassed/339089>\
**Category:** Curriculum Help\
**Tags:** javascript\
**Created:** [January 7, 2020, 9:26am UTC](https://forum.freecodecamp.org/t/concept-of-basic-javascript-generate-random-whole-numbers-within-a-rangepassed/339089 "2020-01-07T09:26:45Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![pjonp](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/pjonp/32/131704_2.png) [@pjonp](https://forum.freecodecamp.org/u/pjonp)\
**Post date:** [January 7, 2020, 10:05am UTC](https://forum.freecodecamp.org/t/concept-of-basic-javascript-generate-random-whole-numbers-within-a-rangepassed/339089/2 "2020-01-07T10:05:28Z")

</div>

Here is the solution explanation for this challenge, does that make sense or which part are you unsure about? It is pretty tricky how the formula gets solved.

#### 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:

1. `Math.random() = 0.8244326990411024`
2. `(myMax - myMin + 1) = 10 - 1 + 1 -> 10`
3. `a * b = 8.244326990411024`
4. `c + myMin = 9.244326990411024`
5. `Math.floor(9.244326990411024) = 9`

> [@freeCodeCamp Challenge Guide: Generate Random Whole Numbers within a Range](http://forum.freecodecamp.org/t/freecodecamp-challenge-guide-generate-random-whole-numbers-within-a-range/18187):
>
> [Generate Random Whole Numbers within a Range](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range) Hints Hint 1 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. Solutionsplay_button Solu…

---

_[View the full topic](https://forum.freecodecamp.org/t/concept-of-basic-javascript-generate-random-whole-numbers-within-a-rangepassed/339089)._
