Zufallszahlen
wiberg
- javascript
Hi,
Ich versuche, zufällig die Zahlen 1,2 oder 3 zu erzeugen. Aber egal was ich mache, die Zahlen werden nicht gleichmäßig erzeugt. So gibt zum Beispiel die Zeile
Math.round(Math.random() * 2) + 1;
zu 50& Zweien und zu je 25% Einsen und Dreien aus.
Die Zeile
Math.round(Math.random() * 3);
gibt zu zwei Dritteln Einsen und Zweien und zu einem Drittel Nullen und Dreien aus.
Wie erzeuge ich nun gleichmäßig verteilt Einsen, Zweien und Dreien?
hallo!
könnte vielleicht daran liegen, dass du die zahlen rundest, es wäre besser, wenn du sie grundsätzlich nach oben rundest, dann fällt auch die null weg und wenn 66 % 1er und 2er sind und 33 % 0er und 3er, heißt:
33% 1er
33% 2er
33% nuller und dreier
wenn nun der nuller wegfallt hat der dreier auch 33 % und alle sind glücklich :-)
sprich: Math.ceil(Math.random()*3)
müsst passen
wif werri frendli grietinks
Hallo,
Ich versuche, zufällig die Zahlen 1,2 oder 3 zu erzeugen. Aber egal was ich mache, die Zahlen werden nicht gleichmäßig erzeugt.
Probiere es so:
function Zufallszahl(von,bis)
{
var z;
z=Math.round(von+(bis-von)*Math.random());
return z;
}
var temp,feld=new Array();
while(feld.length<3)
{
temp=Zufallszahl(1,3);
if(feld.join(",").indexOf(temp)==-1)feld[feld.length]=temp;
}
alert(feld);
MfG, Thomas
ceil arbeitet perfekt, vielen Dank!