当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击