Random sem números repetidos
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
Curtidas 0
Respostas
Gandalf.nho
05/04/2005
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.
GOSTEI 0
Beppe
05/04/2005
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.
GOSTEI 0