关于用Math.random获得随机数的想法

在使用Math.random的时候,看到老师和各位大佬使用的方法不尽相同。本人是个数学白痴,总是在看到之后要思考一番为何如此?

今天痛定思痛,终于自己总结出来一个一套属于自己的想法。也不知道对不对

先设定一个变量 ran=Math.random();

假设我们要获得最小的随机数是1000-9999的四位随机数;

接下来考虑两步:

第一:最小值,因为ran的最小值是0,而四位数的最小值是1000,所以在获取结果时 必须是ran+1000;

第二:最大值,因为ran的最大值是0.99999999循环,而四位数的最大值是9999。

所以这个时候我们都假设向上取整,那么ran就=1 而我们要获取的随机数就变成了五位数=10000。

所以ran*多少+1000=10000呢?

答案是9000

然后因为ran本身是不可能=1的,所以 ran*9000+1000也不可能=10000。

这个时候我们只要向下取整这个公式就可以得到一个从1000到9999的随机数了。

最后总结出来的规律是:ran*(随机数最大值+1-随机数最小值)+随机数最小值;

假设性原则真的很好用啊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值