简体   繁体   English

范围内的随机数不是随机的

[英]Random Numbers In Range Not Random

I've been trying to generate random numbers between 1 and 10 million, but was finding that none of the numbers generated were lower than 1 million.我一直在尝试生成 1 到 1000 万之间的随机数,但发现生成的数字都不低于 100 万。 I wrote this code to test the problem.我写了这段代码来测试这个问题。 This code selects ten million random numbers between 1 and ten million and outputs the lowest number.此代码选择 1 到 1000 万之间的 1000 万个随机数并输出最小的数字。 I'd expect to get at least something in the 100-1000 range at least, but it;s always at least 1 million.我希望至少得到 100-1000 范围内的东西,但它总是至少 100 万。 What have I missed?我错过了什么?

JSFiddle: https://jsfiddle.net/vhLoqz8g/ 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);

You should output lowest and not g at the end of your loop:你应该 output 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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM