范围内的随机数不是随机的
Random Numbers In Range Not Random
我一直在尝试生成 1 到 1000 万之间的随机数,但发现生成的数字 none 低于 100 万。我写了这段代码来测试这个问题。此代码选择 1 到 1000 万之间的 1000 万个随机数并输出最小的数字。我希望至少得到 100-1000 范围内的东西,但它总是至少 100 万。我错过了什么?
JSFiddle:https://jsfiddle.net/vhLoqz8g/
var lowest=10000000;
for (let i = 0; i < 10000000; i++) {
var g=Math.floor(Math.random() * (10000000 - 1 + 1)) + 1;
if (g<lowest)
{
lowest=g;
}
}
document.write(g);
您应该在循环结束时输出 lowest
而不是 g
:
var lowest=1e8;
for (let i = 0; i < 1e7; i++) {
var g=Math.floor(Math.random()* 1e7) + 1;
if (g<lowest) lowest=g;
}
console.log(lowest)
我一直在尝试生成 1 到 1000 万之间的随机数,但发现生成的数字 none 低于 100 万。我写了这段代码来测试这个问题。此代码选择 1 到 1000 万之间的 1000 万个随机数并输出最小的数字。我希望至少得到 100-1000 范围内的东西,但它总是至少 100 万。我错过了什么?
JSFiddle:https://jsfiddle.net/vhLoqz8g/
var lowest=10000000;
for (let i = 0; i < 10000000; i++) {
var g=Math.floor(Math.random() * (10000000 - 1 + 1)) + 1;
if (g<lowest)
{
lowest=g;
}
}
document.write(g);
您应该在循环结束时输出 lowest
而不是 g
:
var lowest=1e8;
for (let i = 0; i < 1e7; i++) {
var g=Math.floor(Math.random()* 1e7) + 1;
if (g<lowest) lowest=g;
}
console.log(lowest)