2
respostas

[Sugestão] Sugestão para proteção total dos números sorteados

A quantidade não deve ser maior nem igual ao intervalo "ate-de+1", pois se for igual não haverá sorteio, ou seja, os sorteados serão previsíveis. Como sugestão, segue o código: else if (quantidade >= ate - 1){ alert ('A quantidade deve ser menor que o intervalo escolhido'); return; } P.S: ate - de + 1 é simplesmente ate-1. Exemplo: 10 - 2 +1 = 9 e 10 - 1 = 9.

2 respostas

Oi João!

Entendi sua sugestão e ela faz bastante sentido. A ideia é garantir que a quantidade de números a serem sorteados seja sempre menor que o intervalo disponível, evitando assim a previsibilidade e o loop infinito que você mencionou.

No seu código, você propôs a seguinte verificação:

else if (quantidade >= ate - 1){
    alert('A quantidade deve ser menor que o intervalo escolhido');
    return;
}

No entanto, a fórmula que você mencionou, ate - de + 1, é importante para calcular o total de números no intervalo, e não apenas ate - 1. Por exemplo, se você tem um intervalo de 10 a 13, o total de números é 4 (10, 11, 12, 13), então a condição correta seria:

else if (quantidade >= (ate - de + 1)){
    alert('A quantidade deve ser menor que o intervalo escolhido');
    return;
}

Dessa forma, você está garantindo que a quantidade de números a serem sorteados seja sempre menor que o total de números disponíveis no intervalo, evitando assim problemas no sorteio.

Espero ter ajudado e bons estudos!

Tem toda razão, fui precipitado em formular uma equação não genérica. Obrigado pela ajuda!