Entwickler-Ecke

Sonstiges (Delphi) - Zufallswerte im Wertebereich mit festgelegter Endsumme


daHonnes - Mo 25.10.04 13:41
Titel: Zufallswerte im Wertebereich mit festgelegter Endsumme
Ich habe ein kleines Problem was Delphi angeht... habe shcon nach Antworten in diesem Forum gesucht, aber leider keine passende gefunden.
Hier mein Problem:

Ich würde gerne 62 Zufallszahlen erzeugen (im Bereich von 300 - 340 pro Zahl) die in der Endsumme 10000 ergeben.

Hat jemand einen Vorschlag???

Gruß
DaHonnes


jasocul - Mo 25.10.04 13:47

Mach dir 61 Zufallszahlen. Die letzte ist dann die Differenz zur Endsumme.


jojo-sp - Mo 25.10.04 13:50

Also:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
aktZahl := random(340);
If aktZahl >300 and Summe < 10000 Do
Begin
  Summe := Summe + aktZahl;
  aktZahl := random(340);
  memo1.lines.add(inttostr(aktzahl));
end
else
If aktzahl < 300 and Summe <10000 Then
  aktZahl := random(340)
else
If Summe > 10000 Then
Begin
  Summe := Summe - aktZahl;
  memo1.lines.add(inttostr(10000-Summe));
end;

Nicht elegant, aber müsste gehen :-)


jojo-sp - Mo 25.10.04 13:51

Wenns genau 2 sein müssen, stimmt meine Lösung jetz nicht, aber mit nem Counter und nem bisschen basteln müsste es auch gehen.


jasocul - Mo 25.10.04 13:53

Die Frage ist ein Brüller.
62 * 300 = 18600.
Dein Problem ist gar nicht lösbar.


jojo-sp - Mo 25.10.04 14:02

Wenn das ne Fang-Frage von daHonnes war setzt es Schläge!!! :motz: :D


daHonnes - Mo 25.10.04 14:10

bitte um entschuldigung... hätte es besser erklären müssen...

Ich habe 31 Zahlenpaare - also insgesamt 62 Zahlen. Diese sollen in einem Bereich zwischen 140 - 180 liegen. Jedes Paar wird zu einer Summe addiert. Diese 31 Summen sollen addiert ca. 10000 ergeben.


jojo-sp - Mo 25.10.04 14:19

Deine Summe ergibt im Minimal-Fall 8680 und im maximal-Fall 11160. Nach der Wahrscheinlichkeits-Rechnung wird dein Endergebnis immer so um die 10000 liegen.


daHonnes - Mo 25.10.04 14:20

genau so würde ich es ja gerne haben


jojo-sp - Mo 25.10.04 14:24

Und wo liegt das Problem? Zum Zufallszahlen-bilden guck dir doch einfach meinen Code weiter oben an.


jasocul - Mo 25.10.04 14:29

daHonnes hat folgendes geschrieben:
bitte um entschuldigung... hätte es besser erklären müssen...


War aber schon Klasse, wie man erstmal darauf reinfällt.