iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >c++实现简单随机数的代码
  • 342
分享到

c++实现简单随机数的代码

2024-04-02 19:04:59 342人浏览 安东尼
摘要

c++简单随机数 #include<iOStream> #include<ctime> #include<cstdlib> using na

c++简单随机数


#include<iOStream>
#include<ctime>
#include<cstdlib> 
using namespace std;
int random(int n)
{
	return (long long)rand()*rand%n; 
}

int main()
{
	srand(unsigned(time(0)));
	//
	//求负数随机数,先产生0-2n之间的随机整数,再减去n就得到了-n - n 之间的数
	  
}

实例扩展:

随机数引擎都需要一个种子,生成的都是伪随机数。

引擎适配器可以套一个随机数引擎:

  • discard_block_engine在连续若干个伪随机数中选择若干个;
  • independent_bits_engine把位数多的伪随机数压缩成位数少的;
  • shuffle_order_engine把连续若干个伪随机数重排。

套娃的方式是模板,理论上你还可以用适配器套适配器,不过CPU可能会有意见。

随机数引擎的模板参数怎么取?标准定义了一些数学家们发现的效果良好的随机数引擎:LCG minstd_rand0、minstd_rand、knuth_b;MT mt19937、mt19937_64;LFG ranlux24_base、ranlux48_base、ranlux24、ranlux48。如果你还是无从下手,那就用default_random_engine,编译器的开发者们为你选好了他们认为最合适的,在MSVC中是mt19937,在GCC中是minstd_rand0。

以上工具都生成伪随机数,标准还定义了真·随机数引擎random_device,尽管标准也允许它是伪随机的。如果它是真随机的,那么使用起来它的效果无疑是最好的,但是多次调用后性能会急剧下降,通常只用于生成伪随机数引擎的种子。

随机数生成器类型都定义了静态方法min和max,返回生成的随机数的范围,以及无参数的函数调用运算符operator(),返回随机数。


#include <iostream>
#include <random>

int main()
{
  auto engine = std::default_random_engine(std::random_device()());
  std::cout << "min = " << engine.min() << "; max = " << engine.max() << std::endl;
  std::cout << "random numbers: ";
  for (int i = 0; i != 10; ++i)
    std::cout << engine() << ' ';
  std::cout << std::endl;
}

到此这篇关于c++实现简单随机数的代码的文章就介绍到这了,更多相关c++简单随机数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: c++实现简单随机数的代码

本文链接: https://www.lsjlt.com/news/126602.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c++实现简单随机数的代码
    c++简单随机数 #include<iostream> #include<ctime> #include<cstdlib> using na...
    99+
    2024-04-02
  • 使用c++怎么实现简单随机数
    使用c++怎么实现简单随机数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。c++简单随机数#include<iostream>#include<...
    99+
    2023-06-15
  • C++简单实现shared_ptr的代码
    一、一些说明 1.智能指针用于资源管理,为了保证资源的操作得到顺利的执行防止资源泄露,因此大多数实现都以noexcept在参数列表后声明为不抛出异常。 2.对于有些明确不需要更改调用...
    99+
    2024-04-02
  • Python带权重随机数的简单实现
    该方法是常用的带权重随机数生成方法,思路是先将权重值求和total,在0与权重和total之间获得一个随机数rd,遍历权重字典,累加其权重值weight_sum, 当rd小于或等于weight_sum时,返回当前的权重key值,示例代码如下...
    99+
    2023-01-31
    随机数 权重 简单
  • Python快速生成随机密码超简单实现
    目录知识点代码解析效果展示知识点 文件读写基础语法字符串处理字符拼接 代码解析 导入模块 import platform import string import random 将...
    99+
    2024-04-02
  • JavaScript实现表格表单的随机选择和简单的随机点名
    目录一、表格表单的随机选择1.H5的布局2.CSS布局3.JS的布局二、简单的随机点名1.H5布局2.CSS布局3.JS布局三、可以自己暂停的随机点名一、表格表单的随机选择 效果展示...
    99+
    2022-11-13
    JavaScript随机点名 JavaScript 表格随机选择
  • JNI实现最简单的JAVA调用C/C++代码
    JNI,是Java Native Interface的简称,中文是“Java本地调用”。通过这种技术可以做到以下两点: Java程序中的函数可以调用Native语言写的函数,Native一般指的是C/C++编写的函数。 Native程序...
    99+
    2023-05-31
    java jni ava
  • Golang 实现简单随机负载均衡
    目录负载均衡简介随机负载均衡测试 随机负载均衡负载均衡简介 从设备角度实现负载均衡: 硬件负载均衡: 由专门的 负载均衡器 服务提供商,在你的服务器和外部网络之间架设 服务商的 负载...
    99+
    2024-04-02
  • 小程序如何实现简单的生成随机验证码
    本文小编为大家详细介绍“小程序如何实现简单的生成随机验证码”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序如何实现简单的生成随机验证码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 //随机生成验...
    99+
    2023-06-26
  • C++实现控制台随机迷宫的示例代码
    我全程使用TCHAR系列函数,亲测可以不改动代码兼容Unicode/ANSI开发环境,功能正常。大概有100行代码是来自网络的,我也做了改动,侵权请联系删除。 这个代码不能算是完美,...
    99+
    2024-04-02
  • C语言代码实现简单的扫雷小游戏
    C语言+EASYX实现扫雷,供大家参考,具体内容如下 主要思路就是通过一个二维数组存储不同的数来代表0到8等具体的图片,再配合鼠标的位置和点击情况,来改变数组某一项的值,而显示不同的...
    99+
    2024-04-02
  • C++生成随机浮点数的示例代码
    目录前言rand生成随机数问题出现初步解决最终方法生成等概率随机数生成随机整数生成随机浮点数生成非均匀分布随机数正态分布随机数二项分布的布尔值前言 在C++11之前,我们通常采用ra...
    99+
    2024-04-02
  • java简单随机抽奖功能怎么实现
    实现简单的随机抽奖功能可以使用Java的Random类来生成随机数。下面是一个简单的实现示例:```javaimport java....
    99+
    2023-08-31
    java
  • C语言实现堆的简单操作的示例代码
    目录一、堆的概念二、堆的实现三、堆的代码实现一、堆的概念 (1)定义 如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺...
    99+
    2022-11-13
    C语言实现堆 C语言 堆操作 C语言
  • C++实现一个简单的线程池的示例代码
    目录一、设计二、参数选择三、类设计一、设计 线程池应该包括 保存线程的容器,保存任务的容器。为了能保证避免线程对任务的竞态获取,需要对任务队列进行加锁。为了使得工作线程感知任务的到来...
    99+
    2024-04-02
  • C语言代码实现简单三子棋游戏
    三子棋是我们小时候经常玩的游戏,今天就分享一下如何用c语言简单实现三子棋吧 编译软件VS2019 c语言实现三子棋运用到了二维数组的知识,在编写三子棋程序时用到了多文件编译(不是必须...
    99+
    2024-04-02
  • Java生产1-100的随机数简单实例(分享)
    直接调用Math里面的random即可,简单方便int i = (int)(Math.random()*100+1);以上这篇Java生产1-100的随机数简单实例(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多...
    99+
    2023-05-31
    java 1 100
  • java随机验证码生成实现实例代码
    java随机验证码生成实现实例代码摘要: 在项目中有很多情况下都需要使用到随机验证码,这里提供一个java的随机验证码生成方案,可以指定难度,生成的验证码可以很方便的和其他组件搭配之前要使用一个生成随机验证码的功能,在网上找了一下,有很多的...
    99+
    2023-05-31
    java 随机 验证码
  • springboot简单实现单点登录的示例代码
    什么是单点登录就不用再说了,今天通过自定义sessionId来实现它,想了解的可以参考https://www.xuxueli.com/xxl-sso/ 讲一下大概的实现思路吧:这里有...
    99+
    2024-04-02
  • Java和c语言随机数Random代码详细
    目录一、随机数的创建步骤1.导包2.创建对象3.数据接收二、Java随机数游戏三、c语言的猜数字一、随机数的创建步骤 1.导包 所谓导包就是在Java中已经定义好的文件,我们直接引...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作