我如何计算x发生的几率?

时间:2017-03-08 18:24:21

标签: javascript loops math

此代码达到200,500和1000的百分比变化是多少?

我为200创建了这个代码为50%,但它会使数字保持在200以上,如果您理解,有人请帮助我:D。

var mainMultplier = 100;
var numerator = 99;
var denominator = 100;      

for(;;) {
  var randomInt = random.real(0, 1.0);

  if ( numerator/denominator > randomInt ) {
    numerator = numerator + 1;
    denominator = denominator + 1;
    mainMultplier = mainMultplier + 1;
  } else {
    break;
  }
}

1 个答案:

答案 0 :(得分:0)

修改

根据您发布的代码,我们可以看到这两个基本规则:

P(100) = 1 - 0.99 = 0.01
P(101) = (1 - P(100)) * (1 - (100 / 101)) = P(101) = (1 - P(100)) * (1 / 101)

对于100之后的任何数字X,可以推广第二条规则:

P(X) = (1 - P(X - 1)) * (1 / X)

现在,我确实在Uni学习了如何通过归纳进行校对,我确信这将有助于我的解释,但我不能再记住了:(。所以相反,我'我写了一些代码来生成一个查询表p,从100到1000:

var p = [];
p[100] = 0.01;

for (var x = 101; x <= 1000; x++)
    p[x] = (1 - p[x - 1]) * (1 / x);

修改2

就我的帮助而言,这是可以的。您可能希望在Software Engineering page上发布通用算法。