Write an efficient algorithm to print the following two outputs
Se le da una función getrand100 nombre predefinido() que devuelve un número entero que es un número aleatorio 1-100. Puede llamar a esta función tantas veces como lo desee, pero tenga en cuenta que esta función es que consume muchos recursos. No puedes usar ningún otro generador aleatorio. NO puede cambiar la definición de getrand100().Cómo crear números aleatorios únicos de un generador aleatorio dado
int getrand100(){
Random rand = new Random();
return (1+rand.nextInt(100));
}
- Output1: los números de impresión 1-20 en orden aleatorio. (No 20 números aleatorios)
- Salida2: Imprima números 1-200 en orden aleatorio. (No 200 números aleatorios)
Nota:
- i. Cada número debe imprimirse exactamente una vez.
- ii. No debería haber ningún patrón en la lista de números. La lista debe ser completamente aleatoria
es decir, todos los números tienen la misma probabilidad de aparecer en cualquier lugar. - iii. Puede llamar a getrand100() cualquier cantidad de tiempo para obtener el número aleatorio de 1 a 100.
- iv. No puede usar ninguna otra función de generador aleatorio excepto getrand100().
¿Es esta tarea? – dckrooney
Probablemente la solución más simple que puede comenzar es la solución 'fuerza bruta' :). Agregue un número a la lista mientras todavía no está allí, pero esto no es "eficiente". – Xeon