Blog do Urubatan
msgbartop
Desenvolvedor, Arquiteto, Palestrante, Coordenador do RSJUG, Patinador e Blogger
msgbarbottom

06 Sep 07 Code Contest: Mega-Sena Acumulada

Ja que o Walter Cruz disse que o outro código que eu postei não tinha nada a ver com o contest (na verdade não tinha mesmo).
Segue o meu código para participar do Code Contest do Rodrigo Sol, que consiste em gerar 1000 jogadas para a mega sena que estava acumulada até a semana passada :D
O José Oliveira e o Daniel Martins também participaram.

Mas só para variar, este código não faz o que o contest pediu também :D
Até por que só fui prestar atenção depois de escrever isto aqui (a falta de atenção em pessoa ) :D
Então se alguem quiser apostar 1000 jogos aleatórios na mega sena, segue o código que eu escrevi :D

1000.times{
        jogada = []
        until jogada.size == 6
                numero = 1+rand(59)
                if !jogada.index(numero)
                        jogada << numero
                end
        end
        puts "#{jogada.sort.join(',')}\n"
}

O pior é que isto ainda precisaria ser melhorado, por que existe uma pequena possibilidade de existirem apostas iguais no bolo das 1000, então alguem se habilita a dizer como evitar apostas iguais no bolo das 1000 apostas?

O código para o contest mesmo não consegui fazer menor do que os que ja haviam sido enviados, talvez mais legivel, mas não menos do que 3 linhas, nem em java, nem em groovy, nem em ruby, ou c++, e cansei de tentar :D

Se você gostou deste post, lembre-se de assinar o RSS feed do blog, para ser notificado de novos posts!

Tags:

Reader's Comments

  1. |

    kara,

    se fosse em java vc podia armazenar cada jogada em um ‘Set’ (que não guarda valores repetidos) e parar de gerar as jogadas apenas quando o ‘Set’ tiver ’size’ 1000

    falow

    Reply to this comment
  2. |

    Seguindo a sugestão do Felipe, aí está:

    jogadas=[]
    until jogadas.size == 1000
    jogada = []
    until jogada.size == 6
    numero = 1+rand(59)
    if !jogada.index(numero)
    jogada

    Reply to this comment
  3. |

    Cortou?

    if !jogada.index(numero)
    jogada

    Reply to this comment
  4. |

    tem que escapar o HTML mas eu entendi a diferença :D

    Reply to this comment
  5. |

    jogadas=[]
    until jogadas.size == 1000
    jogada = []
    until jogada.size == 6
    numero = 1+rand(59)
    if !jogada.index(numero)
    jogada << numero
    end
    end
    if !jogadas.index(jogada)
    jogadas << jogada
    puts “#{jogada.sort.join(’,')}”
    end
    end

    Reply to this comment

Leave a Comment