菜鸟笔记
提升您的技术认知

c 生成指定范围随机数的方法总结-ag真人游戏

1. rand()

rand() % max 可以生成 [0, max) 范围的随机数,则

// 生成 [0, max]
int x = rand() % (max   1);
// 生成 [1, max   1) ,即 [1, max]
int x = 1   rand() % (max);
// 生成 [min, max] 范围的随机数
int x = min   rand() % (max - min   1);

2. stl

以下套用即可,具体解释见 cppreference

std::random_device rd;  //will be used to obtain a seed for the random number engine
std::mt19937 gen(rd()); //standard mersenne_twister_engine seeded with rd()
std::uniform_int_distribution<> distrib(1, 6); // 指定范围
 
 // use `distrib` to transform the random unsigned int generated by gen into an int in [1, 6]
 // 生成 [1, 6] 范围的随机数
std::cout << distrib(gen) << endl;
网站地图