博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js基础--测试随机数的概率是否相等
阅读量:6938 次
发布时间:2019-06-27

本文共 775 字,大约阅读时间需要 2 分钟。

欢迎访问我的个人博客:

前言

今天我们来做一个有趣的测试,那就是我们在某个范围之间取随机数时,每项被随机到的概率是否相等。

随机方法

我们都知道Math.random()的结果是[0, 1)之间的小数,结果包括0但是不包括1。

那么很简单就会想到Math.random() * n的结果是[0, n)之间的小数,结果包括0但是不包括n。

那么parseInt(Math.random() n)的结果就是[0, n)之间的正整数, parseInt(Math.random() n + 1)的结果就是[1, n+1)之间的正整数。

那么parseInt(Math.random() * (m - n) + n)的结果就是[n, m)之间的正整数。

开始证明

我们首先写一个方法,随机7500个在a和b之间的数。

function randomArr(a, b) {    var obj = {}    for (let i = 0; i < 7500; i++) {      const n = parseInt(Math.random() * (b - a) + a);      if (!obj[n]) {        obj[n] = 1;      } else {        obj[n] ++;      }    }    console.log(obj)}    randomArr(5, 10)  randomArr(5, 15)  randomArr(5, 20)

结果如下:

测试结果

由此,我们大致能得出结论,随机数的每项概率基本是相等的;

github资源地址:

我的CSDN博客地址:

如果您对我的博客内容有疑惑或质疑的地方,请在下方评论区留言,或邮件给我,共同学习进步。

邮箱:wuxiaolong802@163.com

转载地址:http://rzsnl.baihongyu.com/

你可能感兴趣的文章
js实现当前导航菜单高亮显示
查看>>
Linux常用命令(二)--文件目录命令
查看>>
tomcat启动报错
查看>>
由《旧制度与大革命》提取的5个感触
查看>>
sqlserver 分页
查看>>
php通过system()调用Linux命令问题
查看>>
swift 警告框 - 自定义按钮颜色,图片
查看>>
提高搜索引擎结果页面排名的各种技术
查看>>
刷题常用的STL容器总结
查看>>
创建一个支持ES6的Nodejs项目
查看>>
sqlserver 行转列、字符串行转列、自动生产行转列脚本
查看>>
仿微信表情输入
查看>>
慎用dictionaryWithObjectsAndKeys方法
查看>>
兼容FF IE的回车事件
查看>>
冒泡排序,快速排序, 二叉树,一致性哈希
查看>>
sdut 1451 括号东东 (dp或模拟)
查看>>
POJ1002 487-3279
查看>>
Visual Studio 2012+jQuery-1.7.1
查看>>
Appium 在 Android UI 测试中的应用
查看>>
登录界面 动画背景效果
查看>>