Write an efficient algorithm to print the following two outputs
Si è data una funzione denominata getrand100 predefinito(), che restituisce un intero che è un numero a caso 1-100. È possibile chiamare questa funzione tutte le volte che si desidera, ma attenzione che questa funzione è a basso consumo di risorse. Non puoi usare nessun altro generatore casuale. NON è possibile modificare la definizione di getrand100().Come creare numeri casuali uniche da un dato generatore casuale
int getrand100(){
Random rand = new Random();
return (1+rand.nextInt(100));
}
- Output1: i numeri di stampa 1-20 in ordine casuale. (Non 20 numeri casuali)
- Output2: stampa i numeri 1-200 in ordine casuale. (non 200 numeri casuali)
Nota:
- i. Ogni numero dovrebbe essere stampato esattamente una volta.
- ii. Non ci dovrebbero essere schemi nella lista dei numeri. L'elenco dovrebbe essere completamente casuale
, ad esempio, tutti i numeri hanno uguale probabilità che appaiono in qualsiasi luogo. - iii. È possibile chiamare getrand100() qualsiasi numero di volte per ottenere il numero casuale da 1 a 100.
- iv. Non è possibile utilizzare qualsiasi altra funzione di generatore casuale eccetto getrand100().
È questo compito? – dckrooney
Probabilmente la soluzione più semplice con cui iniziare è la soluzione 'brute-force' :). Aggiungi a un elenco un numero mentre non è ancora lì, ma non è "efficiente". – Xeon