Write an efficient algorithm to print the following two outputs
Sie sind gegeben eine vordefinierte Funktion mit dem Namen getrand100(), die zurückgibt eine ganze Zahl einzigartige Zufallszahlen erzeugen, die von 1-100 eine Zufallszahl ist. Sie können diese Funktion so oft wie Sie möchten anrufen, aber passen Sie auf, dass diese Funktion recht ressourcenintensiv ist. Sie können keinen anderen Zufallsgenerator verwenden. Sie können die Definition von getrand100() NICHT ändern.Wie aus einem gegebenen Zufallsgenerator
int getrand100(){
Random rand = new Random();
return (1+rand.nextInt(100));
}
- Output1: Druck Zahlen 1-20 in zufälliger Reihenfolge. (Nicht 20 Zufallszahlen)
- Ausgabe2: Drucken Sie die Zahlen 1-200 in zufälliger Reihenfolge. (Nicht 200 Zufallszahlen)
Hinweis:
- i. Jede Nummer sollte genau einmal gedruckt werden.
- ii. Es sollte kein Muster in der Nummernliste sein. Liste sollte völlig zufällig sein
, d.h. alle Zahlen haben gleiche Wahrscheinlichkeit, die an irgendeinem Ort erscheint. - iii. Sie können betrand100() beliebig oft aufrufen, um die Zufallszahl von 1 bis 100 zu erhalten.
- iv. Sie können keinen anderen Zufallsgenerator Funktion außer getrand100() verwenden.
Ist das Hausaufgaben? – dckrooney
Die einfachste Lösung, mit der Sie beginnen können, ist die "Brute-Force" -Lösung :). Fügen Sie einer Liste eine Nummer hinzu, solange sie noch nicht da ist - aber das ist nicht "effizient". – Xeon