JavaScript:如何编码具有特定概率机会百分比的头部/尾部?
问题描述:
我已经实现的功能:JavaScript:如何编码具有特定概率机会百分比的头部/尾部?
function coinFlip() {
return(Math.floor(Math.random()*2) === 0) ? 'Heads' : 'Tails';
}
而这一切都工作正常(我已经测试过)。
我的问题是,我该如何使这个函数获得'Heads'的概率是30%,而获得'Tails'的概率是70%?
在此先感谢
答
function coinFlip() {
return(Math.random() < 0.3) ? 'Heads' : 'Tails';
}
+0
谢谢。这似乎符合我所寻找的。我最初在那里尝试了0.7,但是我想剩下的只是翻转头部/尾部位置或反过来放0.3。 – 5120bee
答
如果三选一抛硬币是头部,这并不意味着,在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");
“如何解决特定百分比的问题”
你可以用” t,这是概率的工作原理
选择一个介于0和1之间的随机数。如果这个数字小于0.3,它就是Heads。否则,它是尾巴... –
好吧,但是假设我做了10次硬币翻转。我想打印结果和逻辑,其中3将是头,7将是尾巴。我如何实现? – 5120bee
这不是一件确定的事情,其中3个是正面,7个是正面。在许多重复的实验中,平均数将是3头和7尾将 – derp