乐趣区

JS生成概率相等的随机数(4种类型)

生成随机数的方案网上有很多,但是在验证概率的时候却发现不相同先把这 4 种类型的随机正整数生成方式贴出来。
①、// 生成 [n,m),包含 n 但不包含 m 的正整数:parseInt(Math.random()*(m-n)+n)②、// 生成 (n,m],不包含 n 但包含 m 的正整数:parseInt(Math.random()*(m-n)+n)+1③、// 生成 [n,m],包含 n 和 m 的随机数:parseInt(Math.random()*(m-n+1)+n)④、// 生成 (n,m),不包含 n 和 m 的正整数:parseInt(Math.random()*(m-n-1)+n+1)
接下里,我们用 10000 个数来验证上述生成随机正整数的概率是相等的
步骤 1:先来定义两个变量,n 和 m
步骤 2:定义 4 个用来作统计的对象
步骤 3:对随机数进行概率验证,对第一个进行验证,其他的也是如此
步骤 4:查看验证结果 
从上面的结果可以看到,生成的随机正整数的概率是相等的。

退出移动版