Fórum Random sem números repetidos #275767
05/04/2005
0
Como fazer um Random de 10 números sem repetir algum número? Quero fazer um vetor de 10 posições, mas nenhum número pode ser repetido, exemplo: [8,2,3,6,5,4,1,0,9,7]
Biohazard
Curtir tópico
+ 0
Responder
Posts
05/04/2005
Gandalf.nho
Acho que só testando mesmo, armazene os valores que obter e a cada interação do Random, compare o valor obtido com os já gravados para ver se é igual ou não. Repita até obter a quantidade desejada de números.
Responder
Gostei + 0
05/04/2005
Beppe
Acho que só testando mesmo, armazene os valores que obter e a cada interação do Random, compare o valor obtido com os já gravados para ver se é igual ou não. Repita até obter a quantidade desejada de números.
Dá pra fazer isto mas o programa fica lento quando n for grande, O(n²).
É mais rápido se vc criar uma lista (ordenada) com os números [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], então permute seus elementos. Para fazer isto pode iterar pela lista, trocando o elemento sob o índice atual pelo elemento escolhido com Random.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)