Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Estou com dúvida no curso de Lógica de Programação, no exercício 1 do capítulo Desafio final.

Opa! Na resposta passada pelo professor no desafio final de lógica ele usou uma função que não resulta sempre em números distintos, e em uma loteria números repetidos nunca são sorteados! Fiz o teste no console, é um pouco chato, mas se você ficar atualizando a tela irá perceber que em determinados minutos os números se repetem!

2 respostas

Na loteria é como se randomizasse 60 números por isso a probabilidade de repetir é tão difícil, no exercício deve ter uma menor quantidade de números assim a probabilidade aumenta.

solução!

Bem, não acho que deveria ser assim. É importante criar uma função que tragar números randomicos e únicos. Criei a função abaixo para isto.

var novoSorteio = [];

            while(novoSorteio.length < 6){
                  var randomnumber = Math.ceil(Math.random() * 60 ) 
                  var found = false;
                  for(var i = 0 ; i < novoSorteio.length; i++ ){
                    if(novoSorteio[i] == randomnumber) {
                        found=true; 
                        break 
                    }
                  }
                  if(!found)novoSorteio[novoSorteio.length] = randomnumber;
            }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software