Files
freeCodeCamp/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript.md
2023-04-20 09:08:02 -05:00

2.2 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
cf1111c1c12feddfaeb1bdef Generare numeri interi casuali con JavaScript 1 https://scrimba.com/c/cRn6bfr 18186 generate-random-whole-numbers-with-javascript

--description--

You can generate random decimal numbers with Math.random(), but sometimes you need to generate random whole numbers. The following process will give you a random whole number less than 20:

  1. Use Math.random() to generate a random decimal number.
  2. Multiply that random decimal number by 20.
  3. Use Math.floor() to round this number down to its nearest whole number.

Remember that Math.random() can never quite return a 1, so it's impossible to actually get 20 since you are rounding down with Math.floor(). This process will give you a random whole number in the range from 0 to 19.

Putting everything together, this is what your code looks like:

Math.floor(Math.random() * 20);

You are calling Math.random(), multiplying the result by 20, then passing the value to Math.floor() to round the value down to the nearest whole number.

--instructions--

Use this technique to generate and return a random whole number in the range from 0 to 9.

--hints--

Il risultato di randomWholeNum dovrebbe essere un numero intero.

assert(
  typeof randomWholeNum() === 'number' &&
    (function () {
      var r = randomWholeNum();
      return Math.floor(r) === r;
    })()
);

Dovresti usare Math.random per generare un numero casuale.

assert(code.match(/Math.random/g).length >= 1);

You should have multiplied the result of Math.random by 10 to make it a number in the range from zero to nine.

assert(
  code.match(/\s*?Math.random\s*?\(\s*?\)\s*?\*\s*?10[\D]\s*?/g) ||
    code.match(/\s*?10\s*?\*\s*?Math.random\s*?\(\s*?\)\s*?/g)
);

Dovresti usare Math.floor per rimuovere la parte decimale del numero.

assert(code.match(/Math.floor/g).length >= 1);

--seed--

--after-user-code--

(function(){return randomWholeNum();})();

--seed-contents--

function randomWholeNum() {
  return Math.random();
}

--solutions--

function randomWholeNum() {
  return Math.floor(Math.random() * 10);
}