Aver si te sirve este algoritmo:
Primero creas un array con todos los números que vas a procesar, por ejemplo del 0 al 500,
Luego mezclas ese array al azar.
Luego creas una función llamada getRand(), esa función retornará el primer valor del array y lo eliminará del stack.
Si no hay valores entonces se acabaron las posibilidades de numeros al azar sin repetición.
Así lo hago yo en php y javascript.
Saludos.
Primero creas un array con todos los números que vas a procesar, por ejemplo del 0 al 500,
Luego mezclas ese array al azar.
Luego creas una función llamada getRand(), esa función retornará el primer valor del array y lo eliminará del stack.
Si no hay valores entonces se acabaron las posibilidades de numeros al azar sin repetición.
Así lo hago yo en php y javascript.
Saludos.