如何计算循环中的随机输出?

时间:2018-08-17 14:36:57

标签: javascript for-loop while-loop

给出的是:

var summe = 0;
var i = 1;
while(summe < 4){
    summe += Math.random();
    document.write(i++ + ") " + summe + "<br>");
}

i通常在添加6到12个范围内,直到满足条件为止。

如何计算1000次添加量是4到20之间的多少倍?

1 个答案:

答案 0 :(得分:1)

不幸的是,我在学校的概率课程中跳过了课程,希望您更加努力,但是最终,您的问题归结为:

  • 执行该操作少于4次的几率是多少? (因为您期望结果严格大于4,所以为0,因此将至少进行5次操作),
  • 以及重复操作+ 20次的机会是多少,知道每次操作我都有20%的机会获得可以使我满足条件的结果。

这与测试数量无关。

下面的代码段将可能与学者计算出的概率相关联:

var result = [];
var j=0;
for (j;j<1000000;j++){
  var summe = 0;
  var i = 1;
  while(summe < 4){
      summe += Math.random();
   //   document.write(i + ") " + summe + "<br>");
      i++;
  }
  result.push(i);
}


const matchingResult = result.filter(num=>num<=20 && num>4);
// or that can be simplyfied  const matchingResult = result.filter(num=>num<=20);
console.log(matchingResult.length/10000,"%","between 4 and 20");

console.log(result.filter(num=>num>20));

希望得到帮助!;)