此代码达到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;
}
}
答案 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上发布通用算法。