参考文章
笔记 | 如何正确地生成一个随机数
CF曾提到:Don’t use rand(): a guide to random number generators in C++
文章总结:
1 .rand()的随机范围太小了,在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。
2. random_shuffle(打乱数组顺序)
3. rand()使用的伪随机算法是 linear congruential generator (线性同余发生器),在低位循环节很低
rand()不行那咋办?文章中给了东西:mt19937(范围:无限制,可以自己设定),mt19937是c++11中加入的新特性,具有速度快,周期长的特点
无范围:
使用方法:

#include<random>
#include<ctime>
std::mt19937 rnd(time(0));
int main()
{printf("%lld\n",rnd());return 0;
}

C++无范围限制

#include <iostream>
#include <chrono>
#include <random>
using namespace std;
int main()
{// 随机数种子unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();mt19937 rand_num(seed);    // 大随机数cout << rand_num() << endl;return 0;
}

手动加上范围:

#include <iostream>
#include <chrono>
#include <random>
using namespace std;
int main()
{// 随机数种子unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();mt19937 rand_num(seed);  // 大随机数uniform_int_distribution<long long> dist(0, 1000000000);  // 给定范围cout << dist(rand_num) << endl;return 0;
}

如何正确地生成一个随机数相关推荐

  1. 用C++生成一个随机数

    用C++生成一个随机数 文章目录 用C++生成一个随机数 C++语言生成随机数的办法 通用公式 : 例 (例中的随机数生成公式为通用公式) C++语言生成随机数的办法 1.使用rand()函数返回从[ ...

  2. 猜数字游戏随机生成一个随机数,并给玩家三次机会猜测

    """猜数字游戏随机生成一个随机数,并给玩家三次机会猜测""" import random #import的作用是导入random这个伪造随 ...

  3. python生成10个随机数并排序_生成一个随机数的列表,然后对它们进行排序

    首先,我想向您展示完整的代码,稍后我将发表评论:import random def randomNum(): return random.sample(range(1, 100), 5) number ...

  4. html中写随机数,为HTML生成一个随机数

    你的问题是相当含糊,你需要什么,但这里是产生两个变量之间的随机数,然后一个Javascript的解决方案设置一个 内容是: JS: var link = document.getElementById ...

  5. 随机数公式生成一个负数和正数之间的数_怎么把一个数随机正负

    1.如何生成一个数的二分之一的随机数,范围在正负0.3,如20的二分之 你可以进入如图所示网站,在右边那个框框中输入-30000,30000(不支持小数),然后点击下面的按钮生成一个随机数,将它除以1 ...

  6. python生成一个含有20个随机数的列表_python随机模块22个函数详解(上)

    作者:小伍哥 来源: AI入门学习 今天给大家纤细介绍下python中的随机模块,随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性.平时数据分析各种分 ...

  7. 算法:关于生成抽样随机数的这些算法

    概述: 这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而且本文要说明的这些算法也是基于这个random库函数的. 本文主要是 ...

  8. 随机抽样java_java生成抽样随机数的多种算法

    本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 概述: 这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而 ...

  9. 竟然被awk生成的随机数给整蒙了,也谈随机数生成种子

    我们现在主要的一个业务是给科研单位等提供数据库构建服务,目前承接的数据库已经发表了3篇NAR文章,具体见你的数据也可以-三篇NAR的数据库. 这次一位老师需要做数据库,但数据还没做好,时间要求却比较急 ...

最新文章

  1. 7系列FPGA逻辑单元理解
  2. keras fine-tune方法
  3. 双向循环链表的冒泡排序
  4. 原理图元件有波浪线_电气原理图和接线图识图方法,电气接线图怎么画?
  5. 各种模板(数据结构图论)
  6. java 异常 理解_java异常理解(1)
  7. 财经计算机财务函数,会计财务最常用的15个公式函数
  8. ExtJs:收集基于ExtJs扩展的一些控件。
  9. poj 1050(DP)
  10. 刷屏!边学边用,这个学Python方法彻底火了!
  11. redis string底层数据结构
  12. linux 清空session,webwork 之销毁session
  13. Windows的资源监视器
  14. xmind 拖拽_GitHub - xdsnet/jsxMind: 基于jsmind 改写的jsxmind插件
  15. latex 表格居中
  16. 本科生学习的一些心得
  17. hive中的TextFile转为SequenceFile
  18. 计算机表格常用根式,常用平方根表.doc
  19. STM32常用协议之串口通信详解
  20. java日志保存_log4j实现日志集中存储

热门文章

  1. 历史上最怪异的23种飞行器,设计者脑子里都想什么了
  2. python运算符号输入_【Python】【运算符】
  3. vgh电压高了有什么_智能变频电源的功能是什么?
  4. html超文本链接本页面,从HTML语言到网上家园 第三章 超文本链接(1)-网页设计,HTML/CSS...
  5. php server 连接字符串,sqlServer 数据库常用连接字符串
  6. java关于异常的面试程序题_Java挑战:最难的十个面试题(附答案)「下」
  7. java 生成jar_java如何生成jar
  8. 蜗杆参数法设计_技术贴 | 减速器结构及设计的注意事项
  9. 跨部门不配合工作_跨部门协作,队友总是“甩锅”,这三个方法教你快速避坑!...
  10. linux开发板显示横向彩虹,给 Linux 终端的输出添加彩虹特效的命令