Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida sobre Math.random()

Gostaria de entender por que que para fazer o Math.random ir de 0 a 10, por exemplo, se usa Math.random () * 10 + 1 e não Math.random () * 11.

Isso faz alguma diferença?

1 resposta
solução!

Oi Camille,

A sua dúvida é bastante pertinente.

  • Math.random() gera um número decimal entre 0 e 0.999999...

  • Math.floor() arredonda este número para baixo, removendo a parte decimal

Quando multiplicamos por um número, temos dois cenários:

  1. Math.random() * 11:

    • Gera números de 0 até 10.9999...
    • Ao usar Math.floor(), obtemos números de 0 a 10
  2. Math.random() * 10 + 1:

    • Primeiro multiplica por 10 (gerando 0 até 9.9999...)
    • Depois soma 1
    • Ao usar Math.floor(), obtemos números de 1 a 10

Exemplo Prático

Se quisermos números de 1 a 10:

Math.floor(Math.random() * 10) + 1;  // Correto

Se quisermos números de 0 a 10:

Math.floor(Math.random() * 11);  // Correto
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!