我已经实现了这个功能:
function coinFlip() {
return(Math.floor(Math.random()*2) === 0) ? 'Heads' : 'Tails';
}
一切正常(我已经测试过了)。
我的问题是,我如何制作这个函数,以使获得“正面”的概率为 30%,而获得“反面”的概率为 70%?
提前致谢
我已经实现了这个功能:
function coinFlip() {
return(Math.floor(Math.random()*2) === 0) ? 'Heads' : 'Tails';
}
一切正常(我已经测试过了)。
我的问题是,我如何制作这个函数,以使获得“正面”的概率为 30%,而获得“反面”的概率为 70%?
提前致谢
function coinFlip() {
return(Math.random() < 0.3) ? 'Heads' : 'Tails';
}
如果三枚硬币中的一枚是正面,这并不意味着在 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");
“如何解决特定百分比问题”
你不能,这就是概率的运作方式