
C++11产生随机数
库中的功能来进行。这个库提供了随机数生成器和分布等工具,能够生成高质量的随机数。而随机数的可重复性取决于如何初始化生成器。以下是优化后的代码:
发布日期:2021-05-28 16:52:31
浏览次数:43
分类:精选文章
本文共 1042 字,大约阅读时间需要 3 分钟。
在C++11中,Generating random numbers可以通过使用
#include#include #include #include using namespace std;void generate_random_1(int num) { default_random_engine e; // 每次初始种子相同,生成的随机数也相同 uniform_int_distribution u(1, 100); cout << "Generate_Random_1: "; for (int i = 0; i < num; ++i) { if (i > 0) cout << " "; cout << u(e) << endl; } cout << endl;}void generate_random_2(int num) { default_random_engine e(time(0)); // 用当前时间作为种子 uniform_int_distribution u(1, 100); cout << "Generate_Random_2: "; for (int i = 0; i < num; ++i) { if (i > 0) cout << " "; cout << u(e)<<" "; } cout << endl; // 手动控制间隔以确保每次运行种子不同 system("pause");}int main() { // 生成随机数 generate_random_1(10); generate_random_2(10); return 0;}
个人想法
为了避免generate_random_2
每次运行的第一个随机数相同,可以通过手动控制种子或修改随机数生成的顺序。例如,可以在生成完第一个随机数后,重新获取新的时间或其他随机数源。或者,使用不同的分布策略来生成随机数,以减少首次相同的情况。最终,确保用户能够清晰看到随机数的区别和独立性。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月07日 02时27分46秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C++ 继承 详解
2019-03-12
OSPF多区域
2019-03-12
Docker入门之-镜像(二)
2019-03-12
数据结构——链表(3)
2019-03-12
socket模块和粘包现象
2019-03-12
去了解拉绳位移编码器的影响因素
2019-03-12
无法初始化Winsock2.2处理
2019-03-12
vMotion 操作失败进度卡在14% ,报错: Operation Timed out
2019-03-12
重置UAG Application admin密码
2019-03-12
Horizon Daas租户管理平台扩展分配时报:内部错误
2019-03-12
项目计划甘特图绘制说明
2019-03-12
嵌入式系统试题库(CSU)
2019-03-12
【自考】之信息资源管理(一)
2019-03-12
setup facatory9.0打包详细教程(含静默安装和卸载)
2019-03-12
ionic4 路由跳转传值
2019-03-12
pwn题shellcode收集
2019-03-12
Linux kernel pwn --- CSAW2015 StringIPC
2019-03-12
配置jdk的环境变量
2019-03-12
编译android源代码(aosp)
2019-03-12