不太随机的随机数列c++代码
时间: 2024-10-06 13:03:34 浏览: 33
C++随机点名生成器实例代码(老师们的福音!)
在C++中,如果你想要生成不太随机的随机数列,通常我们会使用伪随机数生成器(Pseudo-Random Number Generator, PRNG),如C++标准库中的`<random>`头文件提供的功能。以下是一个简单的例子,它使用了一个固定的种子(这里为0),这将导致每次运行程序时都会得到相同的序列,因此是非随机的:
```cpp
#include <iostream>
#include <vector>
#include <random>
int main() {
std::random_device rd; // 使用系统时间作为随机数种子的初始值
const unsigned seed = rd(); // 获取当前时间的随机数作为种子
std::mt19937 gen(seed); // 使用Mersenne Twister算法,一种常见的PRNG
std::uniform_int_distribution<> dis(1, 10); // 随机数范围从1到10
std::vector<int> random_list(10);
for (size_t i = 0; i < random_list.size(); ++i) {
random_list[i] = dis(gen); // 生成并添加到列表中
}
// 打印随机数列
for (const auto& num : random_list) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
```
在这个例子中,如果你想生成固定模式的序列,只需修改种子即可。然而,这种方法通常不是为了创造真正的随机性,而是为了在特定情况下模拟某种已知的序列。
阅读全文