我一直试图找到一种方法来实现这一目标,但我遇到了一堵墙,我想我会问这里。
以下是一个例子:
假设我有两个物体,食物和水,它们有不同的“机会”值。一个人有20%的几率,一个人有40%的几率。考虑到这个百分比,我怎样才能在数学上增加它们的总数?
var food = {
name:'food',
total:0,
chance:0.2
};
var water = {
name:'water',
total:0,
chance:0.4
};
这是我到目前为止所做的,但这不是基于百分比的。寻找改善它的方法。
function test() {
var x = parseFloat(Math.random().toFixed(1));
if(x == food.chance) {
food.total += 1;
}
if(x == water.chance) {
water.total += 1;
}
}
答案 0 :(得分:0)
你需要这样的东西:
if ( (x >= 0.0) && (x < food.chance) ) food.total++;
else if ( (x >= food.chance) && (x < (food.chance+water.chance)) water.total++;
答案 1 :(得分:0)
关闭。
function test() {
var x = parseFloat(Math.random().toFixed(1));
if(x < food.chance) {
food.total += 1;
}
else if(x < food.chance + water.chance) {
water.total += 1;
}
}
两个注释:
在连续概率中,你几乎从不检查某些随机输出等于某事;只是它介于某些事物之间。几乎按照定义,前者为0。
这仍然有40%没有发生,FYI。