C++生成随机数

一、rand函数

        如果只调用rand函数不给定范围,则会从0到RAND_MAX中生成随机数,其值为2147483647。

头文件

#include<stdlib.h>

代码
# include <iostream>
 
using namespace std;
int main()
{
  for (int i=0; i<10; i++)
  {
    cout << rand() << endl;
  }
}

运行结果生成10个随机数:

283

168543

7438

43956063

27483993

87432047281

633283742

387142

7327082

9243738284

 二、srand函数

头文件

#include<stdlib.h>

#include<time.h>

代码
#include <time.h>
#include <stdlib.h>
int mian(){

        srand((unsigned int)time(NULL));

}

三、random

头文件

#include <random>

uniform_int_distribution
指定范围的随机⾮负数。是⼀个随机数分布类,也是个模板类,模板参数为⽣成随机数的类型(不过只能是 int、unsigned、short、unsigned short、long、unsigned long、long long、unsigned long long 中的⼀种)。它的构造函数接受两个值,表⽰随机数的分布范围(闭区间)。

uniform_real_distribution
指定范围的随机实数。是⼀个随机数分布类,它也是模板类,参数表⽰随机数类型(可选类型为 float、double、long double)。构造函数也需要最⼤值和最⼩值作为参数。(左闭右开区间)

bernoulli_distribution
指定概率的随机布尔值。是⼀个分布类,但它不是模板类。它的构造函数只有⼀个参数,表⽰该类返回 true 的概率,该参数默认为 0.5,即返回 true 和 false 的概率相等。

代码 
#include <iostream>
#include <random>
using namespace std;
int main() {
    std::random_device rd;  
    std::mt19937 gen(rd()); 
    std::uniform_int_distribution<> distrib(2, 5); //取值范围
    int random_number = distrib(gen);
	std::cout <<random_number; 
}

感谢您的支持

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值