zufallszahl mit 10 stellen generieren
-
weiss jemand wie das geht mir rand kann man ja glaubs nur bis so 4 stellen. aber sicher nicht bis 10. Wie krieg ich das hin?
-
mit "rand()" geht's auch bis mehr als nur 4 Stellen (welche Stellen meinst du überhaupt, Dezimalstellen?)
-
Lies dir mal den Artikel durch, der dürfte dir helfen nehm ich an:
-
du könntest zb 2 zufallszahlen miteinder multiplizieren dann hast du auch doppelt so viele stellen.
K.
-
stimmt das wäre noch eine schlaue idee
-
Wenn man keinen Wert auf eine zumindest angenäherte Gleichverteilung legt, ja. Primzahlen kommen dabei dann nämlich nicht mehr raus.
Wie wäre es, zehnmal eine Zufallszahl zwischen 0 und 9 zu ermitteln, und die dann entsprechend zusammenzurechnen?
-
marcH schrieb:
stimmt das wäre noch eine schlaue idee
Nö.
Das wirkt sich nämlich fatal auf die Verteilung aus.
Beispiel: ich hätte 3 gleichverteilte Zufallszahlen 1,2,3 und multipliziere diese jeweils, dann kann ich folgende Ergebnisse erhalten:
11 = 1
12 = 2
13 = 3
21 = 2
22 = 4
23 = 6
31 = 3
32 = 6
3*3 = 9Es entstehen also in der Ergebnismenge nur 1,2,3,4,6,9, also 6 Zahlen, und diese sind nicht einmal gleichverteilt.
Analog lässt sich dies auf größere Zahlen übertragen.
Die Variante von MFK hat das Problem nicht, analog könnte man auch hergehen und jeweils die Zahl aus den vierstelligen (*2) und einer zweistelligen Zufallszahle zusammenbauen, also hintereinander hängen.
-
ja ich sehe den fehler ein. man muss es wenn schon mit deiner variante machen.
-
Das könnte zum Beispiel so ausschauen, wenn du die vierstelligen Zufallszahlen i1 und i2 hast:
zufallszahl = i1 + i2 * 10^4;
So kommst du auf eine 8-Stellige Zufallszahl.