用C++生成随机数,时间种子
时间: 2024-09-28 21:09:08 浏览: 34
C++ 随机数与随机种子数的实例
5星 · 资源好评率100%
在C++中,生成随机数通常涉及到`<random>`库,这是C++11及更高版本引入的一个用于生成伪随机数的功能。为了生成随机数,你需要设置一个称为“时间种子”的值,它通常基于当前的时间来初始化随机数生成器,确保每次程序运行都会得到不同的序列。
下面是一个简单的示例,展示如何设置时间种子并生成随机整数:
```cpp
#include <iostream>
#include <random>
int main() {
// 获取当前时间作为种子
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
// 设置随机数引擎(这里使用Mersenne Twister算法)
std::default_random_engine generator(seed);
// 创建一个均匀分布的随机数生成器
std::uniform_int_distribution<int> distribution(0, 99); // 生成0到99之间的整数
// 生成并打印随机数
int random_num = distribution(generator);
std::cout << "Random number: " << random_num << std::endl;
return 0;
}
```
在这个例子中,`std::chrono::system_clock::now().time_since_epoch().count()`获取的是自1970年1月1日以来的秒数,用作初始种子。如果你希望每次都得到相同的随机数序列,可以固定这个种子值;反之,如果不设定或者每次改变种子,你会得到不同的随机数。
阅读全文