C/C++:rand()函数

rand()函数的头文件:#include<stdlib.h>

该函数产生的随机数随机性差,速度慢,周期小(0-32767)

用法如下所示:

 #include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand((unsigned int)time());///以系统流逝时间为随机数发生器种子
for(int i=;i<;i++)
{
int n=rand()%(-)+; ///产生25-50间的随机整数,rand%(b-a)+a即产生[a,b)范围内的随机整数
double d=rand()/(double)RAND_MAX; ///产生0-1的随机小数
printf("%d %f\n",n,d);
}
puts("");
printf("rand()函数可产生随机数的范围:0—%d\n",RAND_MAX);
return ;
}

代码运行结果如下:

C++11:mt19937

mt19937的头文件:#include<random>

产生速度快, 周期大(0-4294967295)

用法与上述rand()类似,具体如下所示: 

 #include<random>
#include<time.h>
#include<bits/stdc++.h>
using namespace std;
int main()
{
mt19937 mt_rand(chrono::high_resolution_clock::now().time_since_epoch().count());///随机种子
///或用:mt19937 mt_rand(time(0));
for(int i=;i<;i++)
{
int n=mt_rand()%(-)+; ///产生25-1000间的随机整数
printf("%d\n",n);
}
return ;
}

使用random库进行随机数生成,用法如下所示:

 #include <iostream>
#include <random>
using namespace std; int main()
{
mt19937 rng;
rng.seed(random_device()());//初始化随机种子 uniform_int_distribution<int> int_dist(,);//创建一个均匀分布,等概率(随机)生成[1, 100]区间的整形数字;
uniform_real_distribution<double> real_dist(-, );//创建一个均匀分布,(等概率)随机生成在(-1, 1)之间的小数; for(int i=;i<;i++){
cout << int_dist(rng) << ' ';
cout << real_dist(rng) << endl;
}
return ;
}

运行结果如下:

C++标准库——random

【C/C++】随机数的生成的更多相关文章

  1. JavaScript算法题之–随机数的生成

    JavaScript算法题之–随机数的生成 需求描述:从一组有序的数据中生成一组随机并且不重复的数,类似于简单的抽奖程序的实现. 先来生成一个有序的数组: 1 var arr = [], 2      ...

  2. java随机数的生成

    我们经常会用到随机数的生成,作为唯一性的id或者标识: long now = System.currentTimeMillis(); SimpleDateFormat dateFormat=new S ...

  3. Linux真随机数的生成

    今天看<白帽子讲WEB安全>一书,看到笔者谈到Linux如何实现真随机数生成,感觉非常有用,记录下来 #include<iostream> using namespace st ...

  4. 将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成

    将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成. 代码比较乱,但是方法还是对的,大家又需要的选择看,希望对博友 有帮助,欢迎留言分享! public class s ...

  5. Python中随机数的生成

    在Python中要实现随机数的生成,需要使用random模块中randint方法. 其具体实现方法如下: import random a = random.randint(1,20) #(1,20)为 ...

  6. C#产生不重复的随机数并生成随机文件名

    本文转自:http://blog.ciznx.com/post/csharprandomnumberandrandomfilename.aspx 在项目中会遇到需要批量生成文件的时候,比如 asp.n ...

  7. SQL随机数的生成

    下面是一个随机函数问题,获取两位数的随机数,且不重复. 但是说明一下,这个函数有点bug,例如:两位数的函数最后能生成89个,如果将数量改成90,那么就无法生成,陷入死循环了. IF object_i ...

  8. C语言中随机数的生成

    刚好在找这方面的资料,看到了一片不错的,就全文转过来了,省的我以后再找找不到. 在C语言中,可以通过rand函数得到一个“伪随机数”.这个数是一个整数,其值大于等于0且小于等于RAND_MAX.ran ...

  9. java 随机数高效生成

    分享牛,分享牛原创.近期去面试经常被问到java如何生产随机数,以及生成很大的字符串保证不能重复,还要考虑性能,之前本人面试别人的时候,可能不会问这个问题.既然这个java随机数问题经常被问到,那咱们 ...

  10. js生成1-100不重复的随机数及生成10个1-100不重复的随机数

    //生成1-100不重复的随机数 var count=100; var a=new Array(); for(var i=0;i<100;i++){ a[i]=i+1; } a.sort(fun ...

随机推荐

  1. 记2017沈阳ICPC

    2017沈阳ICPC 10月20日 早上十点抵达沈阳,趁着老师还没到,跑去故宫游玩了一下,玩到一点多回到宾馆,顺便吃了群里大佬说很好吃的喜家德虾饺(真的好好吃),回到宾馆后身体有点不舒服了,头晕晕的, ...

  2. Flutter学习笔记(5)--Dart运算符

    如需转载,请注明出处:Flutter学习笔记(5)--Dart运算符 先给出一个Dart运算符表,接下来在逐个解释和使用.如下:                            描述       ...

  3. set.contains()分析

    先看一段代码 Set s = new HashSet(); List<String> list = new ArrayList<>(); list.add("a&qu ...

  4. STM32F4xx系列_独立看门狗配置

    看门狗由内部LSI驱动,LSI是一个内部RC时钟,并不是准确的32kHz,然而看门狗对时间的要求不精确,因此可以接收: 关键字寄存器IWDG_KR: 写入0xCCCCH开启独立看门狗,此时计数器开始从 ...

  5. python实现DFA模拟程序(附java实现代码)

    DFA(确定的有穷自动机) 一个确定的有穷自动机M是一个五元组: M=(K,∑,f,S,Z) K是一个有穷集,它的每个元素称为一个状态. ∑是一个有穷字母表,它的每一个元素称为一个输入符号,所以也陈∑ ...

  6. Java编程思想:泛型方法

    import java.util.*; public class Test { public static void main(String[] args) { // GenericMethods.t ...

  7. Contos7 常用命令

    ```pythoncentos常用命令: 查看所有运行的单元:systemctl list-units 查看所有单元:systemctl list-units --all 查看所有启动的服务:syst ...

  8. 在 .h 和 cpp 中查找 :grep consume ~/test/2016/AMQP-CPP/**/*.cpp ~/test/2016/AMQP-CPP/**/*.h -r

    :grep consume ~/test/2016/AMQP-CPP/**/*.cpp ~/test/2016/AMQP-CPP/**/*.h -r -w "whole" 匹配整个 ...

  9. SP1026 FAVDICE - Favorite Dice[期望DP]

    也许更好的阅读体验 \(\mathcal{Description}\) 一个\(n\)面的骰子,求期望掷几次能使得每一面都被掷到 输入有\(T\)组数据,每次输入一个\(n\) 输出保留两位小数 \( ...

  10. xutils3 上传文件操作——个人小计

    上传文件注意: 使用KeyValue对象进行添加文件操作 int uid = 2; //普通字段的存储 requestParams.addBodyParameter("uid", ...