c++-随机数

最常规

#include <iostream>
#include <ctime>
using namespace std;
int main()
{
	srand(unsigned(time(0)));
	int count = rand() % 3 + 1;    //范围1~3
	//rand()//最大范围只有32767
	return 0;
}

mt19937 (茅台19937)

#include <random>
using namespace std;
random_device rd;  //获取随机数种子
mt19937 gen(rd()); //高质量随机数,产生速度快,周期大
//std::default_random_engine rng {rd()}; // Create random number generator//也可以用这个
uniform_int_distribution<> dis(0, 20);//定义了一个用来生成 int类型随机整数的分布对象。范围从 0-20 可能返回21个可能的值 所以每个值出现改了都是1/21
int main()
{
    for (int i = 0; i < 10; i++)
    {
        cout << dis(gen)<<endl;
    }
    return 0;
}

uniform_int_distribution<> dis(0, 20);

<>中定义类型 默认为int

std::uniform_int_distribution<> d {500};//设置下届值为500
std::uniform_int_distribution<> a {-2,2};//设置上界为2下届值为-2
d.min()//获取下界 500
d.max()//获取上界 2147483647

setw(n)(设置输出宽度)

cout << setw(3) << 1 <<endl;

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值