Readers: 12
|< 1 2 3 4 5 >| | 45 entries, 5 pages |
topeg+2008-05-11 11:27:39--Eine ganz kurze Lösung:
Code (perl): (dl )1 2 3 4 5 6 7my $bis=100; my $menge=3; my @zahlen=map{$_=1}(1..$bis); $zahlen[int(rand($#zahlen))]+=pop(@zahlen) while(@zahlen>$menge); print "@zahlen \n";
Leider hat sie einen Schönheitsfehler: Die '0' kommt niemals vor.
Gast+2008-05-11 14:12:52--Mal eine Dumme Frage. Warum kommt bei topegs Variante überhaupt eine zufällige Verteilung raus?
Er holt sich fast hundert Zufallswerte. Ich würde da schon eine statistische Verteilung der Werte erwarten, also etwas um 30 30 30, mit kleinen Unterschieden.
topeg+2008-05-11 11:27:39--Leider hat sie einen Schönheitsfehler: Die '0' kommt niemals vor.
1 2 3 4 5 6 7 8 9
my $bis=100; my $menge=3; my $nullen=$menge; for (1..100) { my @zahlen=( (0)x$nullen, (1)x$bis ); $zahlen[ int( rand( $#zahlen ) ) ]+=pop(@zahlen) while(@zahlen>$menge); print "@zahlen \n" if grep {/^0$/} @zahlen; }
KurtZ+2008-05-11 13:59:44--RPerl+2008-05-11 12:04:49--Im richtigen Leben wuerdest du das ja schliesslich auch nicht sagen.
Doch, natürlich!
Insbesondere bei Leuten die sich erst helfen lassen und danach sagen sie hätten es aber anders gemeint als sie gesagt haben.
(Zugegeben mein Fankreis ist ... kontrastiert ;-)
KurtZ+2008-05-11 14:14:22--sehr kreativ! 8-)
KurtZ+2008-05-11 14:14:22--...allerdings braucht sie immer ca 100 Zufallszahlen...
RPerl+2008-05-11 17:46:17--Kurz gesagt: ein sozialer Krueppel.
RPerl+2008-05-11 17:46:17--Die anderen haben alle verstanden was ich gemeint hab.
topegDanke, Danke ( Die besten Ideen kommen einem immer auf dem Klo :-)
topeg+2008-05-11 17:54:33--An deine Ergänzung habe ich gar nicht gedacht. Damit wäre der Schönheitsfehler auch behoben. Damit werden dann genau "$menge" Durchläufe gebraucht.
Dubu+2008-05-11 10:30:45--@KurtZ: Deine Lösung gefällt mir. Und sie entspricht wegen der besseren Verteilung wahrscheinlich eher der Aufgabenstellung.
RPerl+2008-05-11 17:46:17---thread kann geclosed werden-
|< 1 2 3 4 5 >| | 45 entries, 5 pages |