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

Biohazard

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar