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 ![]()
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 ![]()
Até por que só fui prestar atenção depois de escrever isto aqui (a falta de atenção em pessoa ) ![]()
Então se alguem quiser apostar 1000 jogos aleatórios na mega sena, segue o código que eu escrevi
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
Se você gostou deste post, lembre-se de assinar o RSS feed do blog, para ser notificado de novos posts!
Tags: Ruby
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 commentSeguindo a sugestão do Felipe, aí está:
jogadas=[]
Reply to this commentuntil jogadas.size == 1000
jogada = []
until jogada.size == 6
numero = 1+rand(59)
if !jogada.index(numero)
jogada
Cortou?
if !jogada.index(numero)
Reply to this commentjogada
tem que escapar o HTML mas eu entendi a diferença
Reply to this commentjogadas=[]
Reply to this commentuntil 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