Lo siento si mi pregunta es tonta, matemáticas ha sido siempre una bestia salvaje para mí. Soy un desarrollador de aplicaciones. En una aplicación que tengo un módulo en el cual se asigna al azar 6-8 número de dígitos y un número de serie a un administrador. El administrador podrá dar de estos dos números a otras personas que los utiliza como crédito en la aplicación. Actualmente Hay 134 gerentes y cada manager puede generar 50 códigos por día.
Para implementar tengo una tabla que contiene estos registros.
- Nº de serie (empieza en 1 y se mantiene en el incremento de los)
- Código de autorización (número aleatorio de 6-8 dígitos. No repetitivas)
- El administrador de código (código de administrador, que la ha generado.)
- Se Utiliza? (1 si el código ha sido utilizado demás 0)
- Utilizado en (fecha en la cual fue utilizada por lo que podemos eliminar este código, por lo que el código de autorización se pueden reutilizar.)
Cada vez que un administrador intenta generar un código, el programa crea un número aleatorio y ver si este número está presente o no en la tabla. Si está presente, me regenerar o de lo contrario me la guarde en la tabla.
Hasta ahí todo bien, pero el problema viene cuando muchos números están en uso.
Actualmente hay 1090083 código en la tabla. El total posible de se $99999999-999999 = 99000000$.
Pero a esta cantidad muy pequeña solo, estoy teniendo 2-8 colisiones, yo.e, el número aleatorio ya está ahí y tengo que generar otro. Este poro del gal y de la tabla crece pronto se convertirá en demonio.
Según yo, el problema radica en la generación de números. Por lo tanto, le pido a usted que me ayude.
Es posible crear una función en donde cada ireatation una nueva no-repetitiva número es outputed? Así que yo simplemente ejecutarlo $n$ veces para obtener $n$ números. O cualquier otra cosa ya sabes el problema.