2016-07-04 16 views
-2

Ich habe die Funktion implementiert:JavaScript: Wie man einen Kopf/Zahl mit spezifischem Wahrscheinlichkeitsprozentsatz codiert?

function coinFlip() { 
     return(Math.floor(Math.random()*2) === 0) ? 'Heads' : 'Tails'; 
} 

Und es ist alles in Ordnung arbeiten (ich es schon getestet).

Mein Problem ist, wie mache ich diese Funktion so, dass die Wahrscheinlichkeit, 'Heads' zu bekommen, 30% beträgt, während die Wahrscheinlichkeit, 'Tails' zu bekommen, bei 70% liegt?

Vielen Dank im Voraus

+1

Wählen Sie eine Zufallszahl zwischen 0 und 1. Wenn die Zahl <0,3 ist, ist es Heads. Sonst ist es Tails ... –

+0

Okay, aber angenommen, ich mache 10 Coin Flips. Ich möchte die Ergebnisse und nach der Logik ausdrucken, 3 davon sind Köpfe und 7 werden Schwänze sein. Wie implementiere ich das? – 5120bee

+0

ist es keine sichere Sache, dass 3 davon Köpfe sind und 7 davon Schwänze sein werden. Bei vielen wiederholten Experimenten wird der Durchschnitt 3 Köpfe und 7 Schwänze sein. – derp

Antwort

2
function coinFlip() { 
     return(Math.random() < 0.3) ? 'Heads' : 'Tails'; 
} 
+0

Danke. Dies scheint zu passen, wonach ich gesucht habe. Ich probierte zunächst eine 0,7 dort, aber ich denke, alles, was übrig blieb, ist die Kopf/Tails-Position umzukehren oder umgekehrt eine 0,3 zu setzen. – 5120bee

1

Wenn einer der drei werfen Münze Kopf ist es, dass es in 10 Wurf bedeutet nicht, 3 Köpfe sein .. Hier ist der Code mit 500 Würfen (nur die ändern Nummer)

function coinFlip() { 
      return(Math.random() < 0.3) ? 'Heads' : 'Tails'; //ofc 0.3 is 30% (3/10) 
    } 

var howManyTimes=500; 
var countHeads=0; 
for (var i=0; i<howManyTimes;i++){ 
    if (coinFlip()==='Heads'){ 
     countHeads++; 
    } 
} 
alert("Heads appear "+(countHeads/howManyTimes)*100+"% of the time"); 

Sie können

"wie ein bestimmtes Prozentsatz Problem lösen"‘ t, so funktioniert die Wahrscheinlichkeit