我尝试在 Javascript 中为 23 名学生做一个生日悖论事件,它应该给我 51% 的平均概率,但它总是给我大约 67% 的数字。这里的代码:
var pers = [];
var D = 0;
for (var i = 0; i < 10000; i++) {
for (var k = 0; k < 23; k++) {
pers.push(Math.floor((Math.random()*366) + 1));
}
var npers = pers.slice();
npers.sort();
for ( var v = 0; v < npers.length; v++ ) {
if (npers[v-1] == npers[v]) {
D++;
}
}
pers = [];
}
D = D / 100;
var DD = D.toString();
DD = DD + "%";
document.write(DD);
请你告诉我我在哪里犯了错误?非常感谢。我确信我犯了一个错误,因为我得到的最低百分比是 66%,远高于 51% 的目标。(我已经运行了几次)。再次感谢您的帮助,我已经好几个小时试图弄清楚我做错了什么,但我无法理解。