gpt4 book ai didi

javascript - 如何在给定一定数量的骰子掷骰的情况下控制事件发生的概率

转载 作者:行者123 更新时间:2023-12-01 03:36:36 25 4
gpt4 key购买 nike

我有一个回合制游戏。我为玩家设置了一个条件,即在接下来的 X 固定轮数中,他/她有 Y 百分比的机会触发某些其他事件(例如游戏结束)。

所以说x = 5y = 80%。我需要抛硬币 5 次(最多),并且在每次抛硬币时,修改结果百分比(在正确与错误之间),以便组合/平均百分比可能性全部 5 圈滚动正确率等于 80%。

如果我每次掷骰的几率为 80%,那么在 5 回合内平均几率不会达到 80%(实际上要高得多)。那么,如何强制 y %(大致)给定 x 次硬币翻转?

我正在使用 JavaScript 工作。

编辑:

根据 Thiatt 的建议,我实现了下面的代码(假设 5 圈内 0.16 将产生 80%)。实际上,结果接近 68%。

这看起来很接近,但当我实现时,结果接近 70%:

for(var k = 0; k < 20; k++){    
var totalHit = 0;
for(var i = 100; i >=0; i--){
var hit = false;
for(var j = 0; j < 5; j++){
var roll = rollDice(1, 100);
hit = roll <= 20;
if(hit){
totalHit++;
break;
}
}
}
debug('Hit ' + totalHit + '/100');
}

最佳答案

我对你的问题的解析是,使用你的示例数字,你希望用户在 5 个回合内不触发事件 Y 的概率为 0.2。也就是说,他们有 0.8 的机会触发事件 Y 至少一次(1、2、3、4 或 5 次,而不是零次)。

您使用的是硬币,因此每轮有两个可能的事件。在单轮中不触发的概率为 (1-p),其中 p 是您要求解的所需概率。经过五轮,你有 (1-p)(1-p)(1-p)(1-p)(1-p)=(1-p)^5=0.2,求解 p 给出 ~0.275 或 27.5% 。如果每次掷骰时有 27.5% 的几率触发 Y,则至少触发一次 Y 的概率为 80%。

关于javascript - 如何在给定一定数量的骰子掷骰的情况下控制事件发生的概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44229882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com