c++随机数生成不重复
作者:野牛程序员:2024-01-06 08:50:38 C++阅读 2690
使用C++生成不重复的随机数可以通过以下方法实现:
#include <iostream> #include <cstdlib> #include <ctime> #include <vector> #include <algorithm> int main() { const int totalNumbers = 10; // 生成的随机数总数 const int rangeStart = 1; // 随机数范围的起始值 const int rangeEnd = 100; // 随机数范围的结束值 // 设置种子以确保每次运行都得到不同的随机数序列 std::srand(std::time(0)); // 生成所有可能的随机数 std::vector<int> allNumbers; for (int i = rangeStart; i <= rangeEnd; ++i) { allNumbers.push_back(i); } // 随机打乱顺序 std::random_shuffle(allNumbers.begin(), allNumbers.end()); // 取前totalNumbers个作为不重复的随机数 for (int i = 0; i < totalNumbers; ++i) { std::cout << allNumbers[i] << " "; } return 0; }
这个程序首先生成一个包含所有可能的随机数的数组,然后使用std::random_shuffle
函数打乱数组的顺序。最后,取数组的前N个元素作为不重复的随机数序列。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++取10-100随机数
- 下一篇:C语言怎么使用随机数