IE盒子

搜索
查看: 96|回复: 2

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之类的,明显不合理。
回复

使用道具 举报

2

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2025-2-6 18:36:01 | 显示全部楼层
LZ帖子不给力,勉强给回复下吧
回复

使用道具 举报

2

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2025-3-30 01:15:28 | 显示全部楼层
OMG!介是啥东东!!!
回复

使用道具 举报

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

本版积分规则

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