![]() |
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Wenn du Random(10) sagst, können die Zahlen 0..9 rauskommen.
|
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Zitat:
![]() |
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Zitat:
|
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Zitat:
[edit] Oder eben ein Speicherproblem: Arbeitspeicher ist voller Strings und auch die StringList selbst besitzt eine maximale Anzahl an möglichen Einträgen, und zwar sind das ganz genau
Delphi-Quellcode:
in Win32 sind das maximal 268.435.455 Einträge, wobei es effektiv (auf Grund des Arbeitsspeichers) vielleicht nur maximal 32.768.000 Zeilen sind (eher weniger, da ich davon ausgegangen bin, daß ein freier 250MB-Bereich zusammenhängend existiert und jede Zeile einen Leerstring enthält :stupid:).
Max(NativeInt) div (SizeOf(Pointer) * 2)
Habt ihr über 2 Milliarden € (2.147.483.647) als Gesamt-Einlagen? Wenn nicht, dann sollte es keinen Überlauf geben. OK, wenn man die Extremwerte nimmt, dann schon (150000*1000000 = 150.000.000.000), aber in der durchschnittlichen Summe doch wohl nicht. Annahme: pro 1€ gibt es eine Gewinnchance - Maximum Bereich des Zufallswertes errechnen = Einlagen aller Leute (eventuell jeweils auf ganze € abgerundet) - Zufallswert bestimmen = Random(Gesamteinlage) - dann wieder die Kunden durchgehen und solange von dem Zusfallswert die jeweilige Einlage abziehen, bis der Wert unter 0 sinkt ... das ist dann der Gewinner. [edit] Also im Prinzip so, wie es schon genannt wurde. Vom Vorgehen her ist es wie dein Code, nur das die "Liste" nicht in Real, sondern nur virtuell erstellt wird und es somit nahezu keinen Speicherverbrauch gibt. Denn, wenn man diese Liste nicht auch noch vermischt, dann lässt sich mathematisch berechnen welche Person sich in jeder Zeile befindet. |
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Zitat:
|
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Also,
nochmals vielen Dank für eure Beiträge. Die +1 im Random hab ich jetzt auch verstanden. Ich denke so können wir demnächst bestimmt ein paar iPads an unsere Kunden verlosen. @himitsu Du liegst mit all deinen Vermutungen richtig (bis auf die Gesamt-Einlagen). Und somit hab ich es auch nach Dejan Vu's Erläuterung umgesetzt. Danke nochmals. :thumb: |
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Ich wollte schon fragen, ob wir jetzt auch einen Dankeschön-Einlageneuro gesponsort bekommen, aber dann müssen wir uns auch noch 'nen Mac kaufen, weil sich das iPad ohne ja nicht nutzen lässt (für die Entwicklung), also dann besser doch nicht. :stupid:
Wobei: Ist das so eigentlich "gerecht"? Gut, wer mehr bezahlt, hat höhere Chancen, aber sind das dann nicht die Reichen, welche eh schon 5 iPads als eBookreader auf'm Klo liegen haben? |
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Wo du doch von Klo redest, so ist es doch eine bekannte Tatsache das Sch... auf den dicksten Haufen fällt. :-D
|
AW: Zufallsgenerator mit Gewichtung (aber mit sehr großen Datenmengen)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz