C++怎么实现随机数
时间: 2024-10-23 16:10:28 浏览: 17
在C++中,实现随机数主要有两种方式:内置库和外部库(如Boost库)。这里介绍最常用的内置方法:
**1. 内置random库**(C++11及以上版本支持):
```cpp
#include <random>
#include <iostream>
// 定义随机数生成器范围和种子
int min = 1, max = 100, seed = std::chrono::system_clock::now().time_since_epoch().count();
// 使用mt19937引擎(Mersenne Twister算法)和uniform_int_distribution
std::default_random_engine generator(seed);
std::uniform_int_distribution<int> distribution(min, max);
// 生成并打印随机数
int random_number = distribution(generator);
std::cout << "Random number between " << min << " and " << max << ": " << random_number << "\n";
```
**2. `rand()`函数**(C风格):
```cpp
#include <cstdlib>
#include <ctime>
// 设置全局随机数种子
std::srand(std::time(nullptr));
// 生成随机数
int random_number = rand() % (max - min + 1) + min;
std::cout << "Random number between " << min << " and " << max << ": " << random_number << "\n";
```
注意,`rand()`函数提供的随机性较差,常用于教学目的,实际生产环境中推荐使用`<random>`库。
阅读全文