新手如何产生不重复随机数c++
时间: 2024-11-03 21:19:14 浏览: 32
在C++中,新手想要生成不重复的随机数,可以利用`<random>`库结合一些技巧。这里是一个基本示例,展示如何创建一个范围内的无重复随机整数序列:
```cpp
#include <iostream>
#include <vector>
#include <random>
// 定义随机数生成器
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_int_distribution<int> distribution(1, 100); // 范围从1到100
int main() {
std::vector<int> unique_randoms;
while (unique_randoms.size() < 10) { // 生成10个随机数
int random_num = distribution(generator);
if (std::find(unique_randoms.begin(), unique_randoms.end(), random_num) == unique_randoms.end()) {
unique_randoms.push_back(random_num);
}
}
for (const auto& num : unique_randoms) {
std::cout << num << " ";
}
return 0;
}
```
在这个例子中,我们首先创建了一个`std::uniform_int_distribution`对象来指定随机数的范围。然后在一个循环里,通过不断尝试生成新的随机数,并检查它是否已经存在于结果向量中,直到得到10个不重复的随机数。
阅读全文