Hallo Micha,
> Ich habe gerade folgendes Problem: Ich möchte 10 Zufallszahlen haben,
> die alle ganzzahlig und größer 0 sein sollen, und deren Summe fest
> steht, beispielsweise sollen alle zusammen 2016 ergeben.
Nur als grober Ansatz:
In diesem Falle würde ich das Problem "Umdrehen": Also eine gegebene
Zahl (z.B. deine 2016) in 10 zufällig große Stücke zerlegen.
Mal angenommen, du willst als Summe 200 mit 5 Zufallszahlen aufteilen.
a) Du produzierst 10 Zufallszahlen
b) Du berechnest die Summe aller dieser Zahlen
c) Du berechnest für alle 10 Zufallszahlen, welchen Anteil sie an der
Summe haben (alle Anteile müssten sich auf 1 aufsummieren)
d) Du multiplizierst die Anteile jeweils mit deiner "Zielzahl" um sie
in 10 zufällig große Anteile zu zerlegen
Bei d) müsstest du runden und ggf. sicherstellen, dass die Summe der
Teile danach wieder die Zielzahl ergibt.
Schnelles Beispiel mit Zielzahl 10 aus 3 Teilen
a) "Zufallszahlen"
0,12
0,83
0,42
b) Summe der Zufallszahlen: 1,37.
c) Daraus ergeben sich folgende Anteile:
0,12/1,37 = 0,08759...
0,83/1,37 = 0,60583...
0,42/1,37 = 0,30656...
d) Und die 10 wird dadurch zerlegt in:
10*0,08759 = 0,8759 =gerundet=> 1
10*0,60583 = 6,0583 =gerundet=> 6
10*0,30656 = 3,0656 =gerundet=> 3
Soviel zum "Schnellschuss".
Gruß,
Michael
--
____
/ / / / /__/ Michael Höhne /
/ / / / / [email protected] /
________________________________/
--
Liste abmelden mit E-Mail an: [email protected]
Probleme?
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert