C++产生随机数函数rand()
C++产生随机数函数rand()
C++11之前没有random,生成随机数用rand(),可以配合srand()来使用。rand()不是真正的生成随机数,而是线性取余,有可能也会生成相同的数出来。生成的随机数最大值为RAND_MAX,宏定义在<stdlib.h>中,为0x7FFF,也就是4294967295。
rand()规则:
生成0到最大值之间的随机数:rand()
生成(a,b)之间的随机数:(rand()%(b-a)) + (a+1)
生成[a,b)之间的随机数:(rand()%(b-a)) + a
生成(a,b]之间的随机数:((rand()%(b-a)) +a )+ 1
生成[a,b]之间的随机数:(rand()%(b-a+1)) + a
例如产生一个10~20之间的随机数
(rand()%10) + 10
srand()用来设置rand()产生随机数时的随机数种子。 参数seed必须是个整数,通常可以利用time(0)的返回值或NULL来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。
#include <iostream>
#include <stdlib.h>
#include <random>
#include <ctime>
using namespace std;void f1()
{srand((int)time(0));cout << "f1 rand:" << endl;for (int i = 0; i < 10; ++i){cout << rand() << ' ';}cout << endl;
}void f2()
{cout << "f2 rand:" << endl;for (int i = 0; i < 10; ++i){srand((int)time(0));cout << rand() << ' ';}cout << endl;
}int main()
{f1();f2();system("pause");return 0;
}
输出:
f1 rand:
28071 30499 28792 20690 25000 5286 6554 1446 4794 29189
f2 rand:
28071 28071 28071 28071 28071 28071 28071 28071 28071 28071
产生相同随机数的原因:
计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。
C++产生随机数函数rand()相关推荐
- mysql 列 随机数_MySQL的指定范围随机数函数rand()的使用技巧
公式如下: rand() * (y-x) + x 咱们学php的都知道,随机函数rand或mt_rand,可以传入一个参数,产生0到参数之间的随机整数,也可以传入两个参数,产生这两个参数之间的随机整数 ...
- sqlserⅴer随机函数_SQL server的随机数函数rand()详解
SQL server的随机数函数rand()详解 from:http://tieba.baidu.com/f?kz=607363268 在SQL Server中,有个随机函数rand(),有不少新手可 ...
- c mysql生成随机数函数,MySQL的指定范围随机数函数rand()的使用技巧
公式如下: rand() * (y-x) + x 咱们学php的都知道,随机函数rand或mt_rand,可以传入一个参数,产生0到参数之间的随机整数,也可以传入两个参数,产生这两个参数之间的随机整数 ...
- MySQL集函数随机数_MySQL的指定范围随机数函数rand()的使用技巧
公式如下: rand() * (y-x) + x 咱们学php的都知道,随机函数rand或mt_rand,可以传入一个参数,产生0到参数之间的随机整数,也可以传入两个参数,产生这两个参数之间的随机整数 ...
- php随机整数rand和mt_rand,PHP随机数函数rand()与mt_rand()的讲解
PHP随机数函数rand()与mt_rand()的讲解 PHP中rand()与mt_rand()都是用于产生一个指定范围内单独随机数的函数,如果需要产生多个不重复的随机数,请参考:PHP生成指定范围内 ...
- c++随机数函数rand()
c 语言rand()生成随机数 c语言中rand()函数生成随机数的用法: 详细介绍: (1)使用该函数首先应在开头包含头文件stdlib.h #include<stdlib.h>(C++ ...
- 【C语言】随机数函数rand和srand
文章目录 一.随机数函数 1.rand().srand() 2.time() 二.案例实现 1.案例描述 2.代码实现 一.随机数函数 1.rand().srand() C语言产生随机数要用到的函数是 ...
- C语言之随机数函数( rand() )的使用方法
文章出自个人博客https://knightyun.github.io/2018/04/25/c-rand-number,转载请申明. 在程序设计中,难免会使用到随机值函数,其原理与语法大多类似,接下 ...
- c语言如何初始化随机数种子,关于随机数函数rand和其种子初始化
原文链接 随机数.随机数种子 在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器. 有关如何产生随机数的理论有 ...
最新文章
- 84. Leetcode 70. 爬楼梯 (动态规划-基础题)
- Redis操作命令(一)
- 设计趋势:液态渐变色彩背景
- 【推荐实践】强化学习在美团“猜你喜欢”的实践
- js实现(可实现局部打印)
- Python机器学习数据预处理:读取txt数据文件并切分为训练和测试数据集
- 2018年的人工智能将如何发展?看看专家怎么说
- python appium 并行多设备_appium 多个设备同时执行
- 【Registration of 3D Point Clouds with Low Overlap】
- cocos2d 解密ccbi_CocosBuilder 学习笔记(3) AnimationManager 与 ccbi 文件解析
- 信息矩阵、海森矩阵、权重矩阵、协方差阵
- A Bluescreen By Any Other Color
- HTML+CSS 图片翻转
- 使用EasyPoi导出Word文件,使用@Excel注释导出实体对象图片的解决方案
- 微信小程序使用特殊字体包
- linux uts 全称
- 清风数模课---多元回归分析
- Java JDK 下载官方网站
- 1024——依然是写给你
- sql server 数字转大写