C++ STL 随机数用法介绍
目录
一:C语言中的随机数
二:C++中的随机数
1. 生成随机数的例子
2. 随机数引擎
3. 随机数引擎适配器
4. C++中预定义的随机数引擎,引擎适配器
5. 随机数分布
一:C语言中的随机数
<stdlib.h>//初始化随机种子
srand(static_cast<unsigned int>(time(nullptr)));//生成随机数
cout << rand() << endl;//生成一个区间的内随机数(min, max)
return static_cast<int>(rand() % (max + 1UL - min)) + min;//生成100内随机数
int num = rand() % 100;//生成1-100内随机数
int num = rand() % 100 + 1;
二:C++中的随机数
1. 生成随机数的例子
include <random>
#include <map>
#include <iostream>int main()
{static const int NUM = 1000000;//第一步 产生随机种子std::random_device seed;//第二步:使用随机数引擎生成器std::mt19937 gen(seed());//第三步:为随机数选择一种分布,此处选择均匀分布std::uniform_int_distribution<> uniformDist(0, 20); // min= 0; max= 20for (int i = 1; i <= NUM; ++i) {std::cout << uniformDist(gen) << " ";}
}
2. 随机数引擎
| 引擎 | 说明 |
|---|---|
| random_device | 真随机数(非基于软件生成器),通常用来产生随机种子 |
| linear_congruential_engine | 线性同余法生成器 |
| mersenne_twister_engine | 梅森素数法生成器 |
| subtract_with_carry_engine | 带进位减法随机数生成器 |
3. 随机数引擎适配器
template<class Engine, size_t p, size_t r> class discard_block_engine {...}
template<class Engine, size_t w, class UIntT> class independent_bits_engine {...}
template<class Engine, size_t k> class shuffle_order_engine {...}
4. C++中预定义的随机数引擎,引擎适配器


5. 随机数分布
template<class IntType = int> class uniform_int_distribution
uniform_int_distribution(IntType a = 0, IntType b = numeric_limits<IntType>::max());template<class RealType = double> class uniform_real_distribution
uniform_real_distribution(RealType a = 0.0, RealType b = 1.0);class bernoulli_distribution
bernoulli_distribution(double p = 0.5);template<class IntType = int> class binomial_distribution
binomial_distribution(IntType t = 1, double p = 0.5);template<class IntType = int> class geometric_distribution
geometric_distribution(double p = 0.5);template<class IntType = int> class negative_binomial_distribution
negative_binomial_distribution(IntType k = 1, double p = 0.5)template<class IntType = int> class poisson_distribution
poisson_distribution(double mean = 1.0);template<class RealType = double> class exponential_distribution
exponential_distribution(RealType lambda = 1.0);template<class RealType = double> class gamma_distribution
gamma_distribution(RealType alpha = 1.0, RealType beta = 1.0);template<class RealType = double> class weibull_distribution
weibull_distribution(RealType a = 1.0, RealType b = 1.0);template<class RealType = double> class extreme_value_distribution
extreme_value_distribution(RealType a = 0.0, RealType b = 1.0);template<class RealType = double> class normal_distribution
normal_distribution(RealType mean = 0.0, RealType stddev = 1.0);template<class RealType = double> class lognormal_distribution
lognormal_distribution(RealType m = 0.0, RealType s = 1.0);template<class RealType = double> class chi_squared_distribution
chi_squared_distribution(RealType n = 1);template<class RealType = double> class cauchy_distribution
cauchy_distribution(RealType a = 0.0, RealType b = 1.0);template<class RealType = double> class fisher_f_distribution
fisher_f_distribution(RealType m = 1, RealType n = 1);template<class RealType = double> class student_t_distribution
student_t_distribution(RealType n = 1);template<class IntType = int> class discrete_distribution
discrete_distribution(initializer_list<double> wl);template<class RealType = double> class piecewise_constant_distribution
template<class UnaryOperation>piecewise_constant_distribution(initializer_list<RealType> bl,
UnaryOperation fw);template<class RealType = double> class piecewise_linear_distribution
template<class UnaryOperation>piecewise_linear_distribution(initializer_list<RealType> bl,
UnaryOperation fw);
相关文章:
C++ STL 随机数用法介绍
目录 一:C语言中的随机数 二:C中的随机数 1. 生成随机数的例子 2. 随机数引擎 3. 随机数引擎适配器 4. C中预定义的随机数引擎,引擎适配器 5. 随机数分布 一:C语言中的随机数 <stdlib.h>//初始化随机种子 srand(static_ca…...
容器之docker compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个 YAML 文件,您可以配置应用程序需要的所有服务,并使用单个命令来创建和启动这些服务。以下是对 Docker Compose 的详细介绍: 核心概念 服务(Services&am…...
MIT机器人运动控制原理浅析-人形机器人
MIT人形机器人基于开发改进的执行器全新设计,通过可感知执行器运动动力学移动规划器(Actuator-Aware Kino-Dynamic Motion Planner)及着地控制器(Landing Controller)等实现机器人的运动控制。 机器人设计 机器人高0.7米,21KG(四肢重量 25%),…...
开源 WAF 解析:选择最适合你的防护利器
前言 随着网络安全风险的增加,Web 应用防火墙(WAF)成为保护网站和应用程序免受攻击的关键工具。在众多的选择中,开源 WAF 以其灵活性、可定制性和成本效益备受青睐。本文将深入探讨几种主流开源 WAF 解决方案,帮助你选…...
AirPods Pro新功能前瞻:iOS 18的五大创新亮点
随着科技的不断进步,苹果公司一直在探索如何通过创新提升用户体验。iOS 18的推出,不仅仅是iPhone的一次系统更新,更是苹果生态链中重要一环——AirPods Pro的一次重大升级。 据悉,iOS 18将为AirPods Pro带来五项新功能࿰…...
JavaScript中的可选链操作符
在JavaScript中,?. 被称为可选链操作符(Optional Chaining Operator)。它允许你访问对象的深层属性而不必显式地检查每一层属性是否存在。如果链中的某个属性不存在,表达式将短路返回undefined,而不是抛出一个TypeErr…...
huggingface笔记:gpt2
0 使用的tips GPT-2是一个具有绝对位置嵌入的模型,因此通常建议在输入的右侧而不是左侧填充GPT-2是通过因果语言建模(CLM)目标进行训练的,因此在预测序列中的下一个标记方面非常强大 利用这一特性,GPT-2可以生成语法连…...
一次业务的批量数据任务的处理优化
文章目录 一次业务的批量数据任务的处理优化业务背景1.0版本 分批处理模式2.0版本 平衡任务队列模式3.0版本 优化调度平衡任务队列模式总结 一次业务的批量数据任务的处理优化 业务背景 一个重新生成所有客户的财务业务指标数据的批量数据处理任务。 1.0版本 分批处理模式 …...
新能源汽车充电站远程监控系统S275钡铼技术无线RTU
新能源汽车充电站的远程监控系统在现代城市基础设施中扮演着至关重要的角色,而钡铼技术的S275无线RTU作为一款先进的物联网数据监测采集控制短信报警终端,为充电站的安全运行和高效管理提供了强大的技术支持。 技术特点和功能 钡铼S275采用了基于UCOSI…...
海外视频媒体发布/发稿:如何在国外媒体以视频的形式宣发
1. 背景介绍 在如今数字化时代,每个国家都拥有着各自的视频媒体平台,而主流媒体也都纷纷加入了视频发布的行列。视频媒体的宣发形式主要包括油管Youtube等视频分享平台,以及图文配合的发布方式。通过在视频中夹带链接,媒体可以以…...
HTML 【实用教程】(2024最新版)
核心思想 —— 语义化 【面试题】如何理解 HTML 语义化 ?仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性,让人更容易读懂对SEO更加友好,让搜索引擎更容易读懂 html 文件的基本结构 html 文件的文件后缀为 …...
How to Describe Figures in a Research Article
How to Describe Figures in a Research Article DateAuthorVersionNote2024.07.10Dog TaoV1.0Finish the document. 文章目录 How to Describe Figures in a Research ArticleGeneral GuidelinesDetailed DescriptionsCommon Describing Phrases Effective communication of …...
昇思MindSpore学习入门-CELL与参数一
Cell作为神经网络构造的基础单元,与神经网络层(Layer)的概念相对应,对Tensor计算操作的抽象封装,能够更准确清晰地对神经网络结构进行表示。除了基础的Tensor计算流程定义外,神经网络层还包含了参数管理、状态管理等功能。而参数(…...
【k8s中安装rabbitmq】k8s中安装rabbitmq并搭建镜像集群-hostpath版
文章目录 简介一.条件及环境说明二.需求说明三.实现原理及说明四.详细步骤4.1.规划节点标签4.2.创建configmap配置4.3.创建三个statefulset和service headless配置4.4.创建service配置 五.安装完后的配置六.安装说明 简介 k8s集群中搭建rabbitmq集群服务一般都会用到pvc&#x…...
(5) 深入探索Python-Pandas库的核心数据结构:Series详解
目录 前言1. Series 简介2. Series的特点3. Series的创建3.1 使用列表创建Series3.2 使用字典创建Series3.3 使用列表和自定义索引创建Series3.4 指定数据类型和名称 4. Series的索引/切片4.1 下标索引:基于整数位置的索引4.2 基于标签的索引4.3 切片4.4 使用.loc[]…...
JAVA之开发神器——IntelliJ IDEA的下载与安装
一、IDEA是什么? IEAD是JetBrains公司开发的专用于java开发的一款集成开发环境。由于其功能强大且符合人体工程学(就是更懂你)的优点,深受java开发人员的喜爱。目前在java开发工具中占比3/4。如果你要走java开发方向,那…...
通过Umijs从0到1搭建一个React项目
有一阵时间没写react了,今天通过umi搭建一个demo项目复习一下react;umi是一个可扩展的企业级前端应用框架,在react市场中还是比较火的一个框架。 Umi官方文档:Umi 介绍 (umijs.org) 一、构建项目。 1、安装包管理工具。 官方推…...
Redis 数据过期及淘汰策略
Redis 数据过期及淘汰策略 过期策略 定时过期 在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好&a…...
vue vite+three在线编辑模型导入导出
文章目录 序一、1.0.0版本1.新增2.编辑3.导出4.导入 总结 序 要实现一个类似于数字孪生的场景 可以在线、新增、删除模型 、以及编辑模型的颜色、长宽高 然后还要实现 编辑完后 保存为json数据 记录模型数据 既可以导入也可以导出 一、1.0.0版本 1.新增 先拿建议的立方体来…...
去水印小程序源码修复版-前端后端内置接口+第三方接口
去水印小程序源码,前端后端,内置接口第三方接口, 修复数据库账号密码错误问题,内置接口支持替换第三方接口, 文件挺全的,可以添加流量主代码,搭建需要准备一台服务器,备案域名和http…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
