A alternativa verdadeira é:
- Para gerar um número entre 1 e 3, podemos usar o código:
let numeroAleatorio1a3 = parseInt(Math.random() * 3) + 1;
Explicação:
Math.random() gera um número entre 0 (inclusive) e 1 (exclusivo), como por exemplo 0.5248....
Multiplicando por 3: Math.random() * 3 resulta em um número entre 0 e 2.999....
parseInt(...) ou Math.floor(...) transforma isso em um inteiro entre 0 e 2.
Somando 1, o resultado final será entre 1 e 3, como desejado.
Por que as outras estão erradas?
- parseInt(Math.random() * 4);
Gera números entre 0 e 3, então o número 0 pode aparecer (fora do intervalo desejado).
- parseInt(Math.random() * 3);
Gera números entre 0 e 2, ou seja, nunca gera 3, que é parte do intervalo pedido (1 a 3).