Acredito que a alternativa B) Para gerar um número entre 1 e 3, podemos usar o código: let numeroAleatorio1a3 = parseInt(Math.random() * 4); também está correta, por que não vale esta alternativa ?
Acredito que a alternativa B) Para gerar um número entre 1 e 3, podemos usar o código: let numeroAleatorio1a3 = parseInt(Math.random() * 4); também está correta, por que não vale esta alternativa ?
Olá, Tiago! Tudo bem?
A função Math.random()
em JavaScript gera um número decimal aleatório entre 0 (inclusivo) e 1 (exclusivo), ou seja um número entre o intervalo de 0 a 0,99999... Dessa forma, quando multiplicamos esse número por 4, como na opção B) let numeroAleatorio1a3 = parseInt(Math.random() * 4);
, o resultado pode ser qualquer número de 0 (inclusivo) até 4 (exclusivo), ou seja, entre 0 e 3,9999... Assim, quando usamos a função parseInt()
, esse número é arredondado para baixo, resultando em um número inteiro entre 0 e 3.
Portanto, a opção B) pode gerar os números 0, 1, 2 e 3, e não apenas os números entre 1 e 3, como a pergunta solicitava.
Por outro lado, a opção A) let numeroAleatorio1a3 = parseInt(Math.random() * 3) + 1;
multiplica o número aleatório por 3, o que pode resultar em qualquer número de 0 (inclusivo) até 3 (exclusivo), depois, adiciona 1 ao resultado. Portanto, essa opção gera um número inteiro entre 1 (inclusivo) e 4 (exclusivo), ou seja, 1, 2 ou 3, que é exatamente o que a pergunta solicitava.
Espero ter ajudado!
Um forte abraço e bons estudos!