JavaScript:如何编码具有特定概率机会百分比的头/尾?

时间:2016-07-04 00:17:34

标签: javascript probability coin-flipping

我已经实现了这个功能:

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

它一切正常(我已经测试过了)。

我的问题是,我该如何使这个功能成为获得头衔的可能性。获得“尾巴”的可能性是30%。是70%?

提前致谢

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

如果三个投掷硬币中的一个是头部,那并不意味着在10折中,将有3个头..这是你的代码500折腾(只需改变数字)

    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");
  

“如何解决特定百分比问题”

你不能,这就是概率的运作方式