随机生成1-39的整数,且不能重复,不能遗漏。C++,并且输出完整的结果
时间: 2024-12-24 11:18:37 浏览: 16
要在C++中随机生成1到39之间且无重复的39个整数,可以使用`<random>`库配合一个集合(如`std::set`)来确保唯一性和完整性。下面是一个简单的示例:
```cpp
#include <iostream>
#include <random>
#include <set>
int main() {
std::random_device rd; // 用于获取随机数种子
std::mt19937 gen(rd()); // Mersenne Twister随机数生成器
std::uniform_int_distribution<> dis(1, 39); // 定义随机数范围
std::set<int> unique_numbers;
while (unique_numbers.size() != 39) { // 当数字集合大小不是39时继续循环
int random_num = dis(gen);
unique_numbers.insert(random_num); // 插入新生成的数
}
std::cout << "Random numbers without repetition from 1 to 39:\n";
for (const auto &num : unique_numbers) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
```
这段代码首先初始化了一个随机数生成器和分布,然后在一个循环中不断生成新的随机数并插入到集合中,直到达到39个为止。最后,它遍历并输出集合中的所有独特数字。
阅读全文