用C++生成一个随机数


文章目录

  • 用C++生成一个随机数
    • C++语言生成随机数的办法
      • 通用公式 :
      • 例 (例中的随机数生成公式为通用公式)

C++语言生成随机数的办法

1.使用rand()函数返回从[0,MAX)之见的随机整数,这里的MAX由所定义的数据类型而定,需要在头文件出使用:

#include<cstdlib>

2.使用srand(time(NULL))srand(time(0))设置当前的系统时间值为随机数种子,有序系统时间是变化的,那么种子也是变化的。需要在头文件处使用:

#include<cstdlib>

和:

#include<ctime>

提示 : 随机数种子的作用是使rand()函数每次生成随机数据,如果不用随机数种子或用固定数随即种子,rand()函数每次生成相同随机数据.(如果每次生成的随机数都相同,那么可能缺少了srand(time(0))


产生一定范围随机数的通用公式 :

  • 要取得[a,b)的随机整数,使用rand()%(b-a))+a.
  • 要取得[a,b]的随机正数,使用rand()%(b-a+1))+a.
  • 要取得(a,b]的随机整数,使用rand()%(b-a))+a+1.

通用公式 :

a+rand()%b.

其中的a是起始值,b是范围内最大数.
要取得ab之间的随机整数,另一种表示 :

a+(int)b*rand()/(RAND_MAX+1)

要取得0 ~ 1之间的浮点数,可以使用 :
rand()/double(RAND_MAX)

例 (例中的随机数生成公式为通用公式)

#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main()
{int x,y,z;srand(time(0))x=1+rand()%1000;y=1+rand()%1000;z=1+rand()%1000;cout<<x<<" "<<y<<" "<<z;return 0;
}

~如有问题与建议请提出~


~END~


用C++生成一个随机数相关推荐

  1. 如何正确地生成一个随机数

    参考文章 笔记 | 如何正确地生成一个随机数 CF曾提到:Don't use rand(): a guide to random number generators in C++ 文章总结: 1 .r ...

  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. 改进C#代码之24:通过定义并实现接口替代继承
  2. vlan后 出现 outlook 正在试图从服务器检索数据
  3. java 泛型和集合_Java集合和泛型
  4. 浅谈服务器使用RAID5磁盘阵列的问题
  5. 视频丨包不同的沙雕敏捷之砸锅卖铁买兰博
  6. (58)UART外设驱动用户发送模块(三)(第12天)
  7. 插入的数据不能时时查询到_漫谈 LevelDB 数据结构(一):跳表(Skip List)
  8. 也谈zabbix性能优化
  9. linux 系统清理工具下载,五款最佳Linux文件系统清理工具
  10. 值得收藏!神级代码编辑器 Sublime Text 全程指南
  11. python中的箭头符号
  12. Microsoft Office 2007 注册码office Visio 2007 注册码
  13. RocketMQ 学习方法之我见
  14. 无惧断电 小苏云“同城三机房”容灾演练成功
  15. win7 最常用的快捷键 ( 完全可以使用键盘来操作)
  16. JS - 将tree(树形)数据结构格式改为一维数组对象格式(扁平化)
  17. java.lang.ClassNotFoundException: org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEnd
  18. C语言 itoa函数及atoi函数
  19. (php毕业设计)基于php的宫崎骏动漫电影网站管理系统源码
  20. 计算机控制中的时序,计算机组成原理第3讲时序产生器和控制方式课堂

热门文章

  1. excel无法做图,是因为数据格式的原因
  2. PHP实现简易的MVC框架
  3. HTTP常见请求头/响应头
  4. 网狐荣耀需要什么服务器系统,网狐荣耀服务器负载均衡
  5. 任意两平面求夹角|Python练习系列[11]
  6. 【C#】UserControl用法
  7. ZEGO 2018上海音视频技术嘉年华 活动回顾PPT下载
  8. STM32 PWM控制电机寄存器配置
  9. Java实现mysql保存微信特殊表情符号
  10. 使用openssl制作https的证书