IE盒子

搜索
查看: 83|回复: 1

C++里面如何得到接近真随机的数字?

[复制链接]

1

主题

3

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-9-22 04:34:31 | 显示全部楼层 |阅读模式
我最近做一个算法需要用到几百亿个随机数(整数),取值范围是0~160亿左右,需要随机数的随机性非常好,但是用C++ STL自带的default_random_engine配合uniform_int_distribution得到的随机数在取随机数次数达到10亿次以上后随机性变得很差。于是我尝试多次用clock重设seed,不行。再后来试着求好几次随机数然后拼成一个,也不行。最后我尝试用对md5进行迭代来求随机数,结果出现了循环,效果更差。现在我一筹莫展,有人知道怎么求得更好的随机数吗?
================
已经解决了,可以用md5(1),md5(2)……的方法,我之前是md5(md5)这样的。
使用场景没有任何问题,别质疑了。就是20亿个字节,160亿个bit的布隆过滤器。
正确的方法跑出来第一次结果是0.62,之前一直是0.01之类的,明显不合理。
回复

使用道具 举报

3

主题

7

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 前天 00:59 | 显示全部楼层
路过 帮顶 嘿嘿
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表