设计一个随机数发生器,可以产生分布在任意整数区间[a,b]的随机数序列。用c++
时间: 2024-12-11 10:34:36 浏览: 21
设计一个简单的C++随机数生成器,用于生成指定范围内的整数序列,我们可以使用`<random>`库提供的功能。首先,需要包含必要的头文件并创建一个随机引擎(如Mersenne Twister),然后定义一个函数来生成随机数。下面是一个示例:
```cpp
#include <iostream>
#include <vector>
#include <random>
// 定义随机数生成器的范围
int a = 1;
int b = 100;
// 使用Mersenne Twister随机数引擎
std::mt19937 generator(std::random_device{}()); // 初始化随机种子
// 创建均匀分布的随机数生成器,范围为[a, b]
std::uniform_int_distribution<int> distribution(a, b);
// 生成随机数序列
std::vector<int> generateRandomNumbers(int n) {
std::vector<int> result(n);
for (size_t i = 0; i < n; ++i) {
result[i] = distribution(generator);
}
return result;
}
int main() {
int sequence_size = 5; // 想要生成的随机数个数
std::vector<int> random_sequence = generateRandomNumbers(sequence_size);
// 输出随机数序列
for (const auto &num : random_sequence) {
std::cout << num << " ";
}
return 0;
}
```
在这个例子中,你可以通过修改`a`和`b`变量来自定义随机数的范围,而`generateRandomNumbers`函数会生成指定长度的随机数序列。
阅读全文