Bom dia, estava estudando algoritmo e estrutura de dados em um livro, e apareceu essa questão:
- Criei uma função que soma esse biased-random 100 vezes. Dessa forma, o retorno dessa função é um número aleatório (mas com a tendencia em p) de 0 a 100.
- Criei uma função que chama a função criada no item 1 1000 vezes, calculando a media aritmética desses resultados.
- Por fim, com essa média em mãos, eu chamava a primeira função 100 vezes e somava os resultados, se o somatório for maior (ou igual a 1) que a média retornava 1 e se não, retornava 0.
Para testar, criei a função biased-random usando o random do java para gerar 30% em 1 e 70% em 0. A segunda função retorna o valor satisfatório (28~29), enquanto a terceira função varia muito, em 5 testes de 100 chamadas cada, retornaram esses resultados:
Número de 0: 58
Número de 1: 42
Número de 0: 47
Número de 1: 53
Número de 0: 52
Número de 1: 48
Número de 0: 52
Número de 1: 48
Número de 0: 45
Número de 1: 55
A minha pergunta é, existe um algoritmo que funcione 50%-50%? Procurei pela internet sobre e não encontrei nada.
