gpt4 book ai didi

C++无重复数随机数生成器

转载 作者:搜寻专家 更新时间:2023-10-30 23:49:32 27 4
gpt4 key购买 nike

我四处寻找一种可以转换这段代码的函数

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

using namespace std;

void ran(int array[], int max);
int main() {
printf("Today's lottery numbers are:\n");
for (int i = 0; i < 6; i++)
srand((unsigned)(NULL));
}

进入确保没有重复数字的随机数生成器有人可以帮助我吗?检查后我打算用 printf("%d\n", rand()%50);

打印它

我只需要一个确保它不重复的例程。请如果你能给我一个例程,我会大大放心,一定会付出代价。

谢谢。这些库在这个屏幕上似乎没有正确读取,但它们是 stdio、stdlib 和时间,并且我正在使用命名空间。

最佳答案

为什么不直接使用 STL 中已有的内容呢?查看您的示例代码,并假设它在某种程度上代表了您想要执行的操作,那么所有内容都应该在其中。 (我假设您需要相对较小的数字范围,因此内存不会成为限制)

使用 std::random_shuffle 和包含您希望数字所在范围内的整数的 std::vector 应该会为您提供一个唯一的序列您在示例代码中需要的随机数。

在使用 std::random_shuffle 之前,您仍然需要调用 srand 一次,并且仅调用一次。不像您在当前代码示例中所做的那样多次。

关于C++无重复数随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111214/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com