永发信息网

C++编译中用srand()和rand()%100产生的随机数为什么有两个以上相同的数

答案:2  悬赏:40  手机版
解决时间 2021-04-04 07:33
C++编译中用srand()和rand()%100产生的随机数为什么有两个以上相同的数
最佳答案
rand函数本身有这个bug,在同一秒内取值可能会相同。追问有没有一种方法产生完全不同的随机数?追答你可以使用C++新标准random来产生随机数
#include 

#include 

int main()

{

    std::random_device rd;

    std::mt19937 gen(rd());

    std::uniform_int_distribution<> dis(1, 6);

    for(int n=0; n<10; ++n)

        std::cout << dis(gen) << ' ';

    std::cout << '
';

}
全部回答
rand()%100 是 在 0 到 99 之间 取随机 数。
随机数为均匀分布。
当你 取较多 个 数 时,它必然 有 重复。
例如 取 51 个 数 时,有 1 个 重复 的 概率 几乎为 80-90%。
如果 你再加上什么 条件,重复 的 概率 可以 提高 或 可以 下降。
这才叫 随机。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
亚索大招是无敌状态吗,怎么觉得不管多残,它
奈良先端科学技术大学院大学研究生专业多不多
个别因素修正,市场比较法的因素修正
有缘 终会相见 时间就是唯一的见证什么意思
二手APP软件的财务规划怎么写
75%的酒精溶液是一种常用的消毒剂.(1)酒精
学生课堂上的名言,描写同学上课专心听讲、积
中国诗歌刊物主编,中国现在有哪些著名的诗歌
地质取样天然气中含氮气和二氧化碳说明什么意
华润万家 东城店怎么样
像是这种木头发霉了,应该怎么处理啊
潮汕自古矮子多?
大专是什么学位,大专是什么学历
有没有主持人的训练材料?
身边没有一个闺蜜朋友
推荐资讯
内经32外经52滚珠轴承
毕业对老师的祝福诗,求一些对老师们、同学们
在我国部分企业,劳动者权益受到侵害的现象时
公式“=(YEAR(TODAY())-YEAR(B8))*12+(MONTH(
各位,真诚的求一本周易全解,谁的比较好网上
戴尔销售 态度真差
韵达1开头有12位的么
微信注销的时候零钱没有提现,还可以找回来吗
怎么不花钱快速获得QB,悬赏400
如何让大和锦出状态
木星与土星的磁场谁大
近视225度经常戴眼镜好还是不要?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?