c++ - 生成n个随机变量,并将它们相乘C++

标签 c++ random vector

为简单起见,假设用户输入 n = 2,我想要发生的是将两个(或 n 个)随机数相乘。它应该适用于任何 n,并且随机数介于 0 和 1 之间。

I have been using this for random numbers between 0 and 1
(double)rand()/(double)RAND_MAX for this.

So to break it down further
n= 1
random_number = random_number 
n = 2
random_number = random_number * random_number
n = 3
random_number = random_number * random_number * random_number 
n = ...
random_number = random_number * random_number * ...

问题是随机数也必须是唯一的。比如对于n=2的情况,应该是...

 random_number = (unique)random_number * (unique)random_number

为了使问题更复杂,我们还假设我有 m 个(不是静态的)分区,并且我创建了一个大小为 m^n 的 vector 。我还需要创建这个大小为 m^n 的 vector ...

 vector = [rand*rand, rand*rand, rand*rand, rand*rand]
 for the case when n = 2 m = 2

我将如何在 C++ 中执行此操作?

最佳答案

获取n随机数只是重复使用 rand()生成它们。如果您希望它们是唯一的,请将它们放在 std::set<int> 中。 .这样,您可以检查它是否已经生成。一旦你有了独特的集合,就可以对它们做任何你需要做的处理——即让它们落在 0 和 1 之间,然后它们相乘。

关于c++ - 生成n个随机变量,并将它们相乘C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33746110/

相关文章:

c++ - 如何以编程方式检测进程在堆上分配的字节数?

c - 3 个骰子的随机骰子卷的星号直方图

c++ - C++ 编译器如何处理在条件语句中声明的类型?

c++ - 为什么模板类的静态成员不是唯一的

sql - 在 MS SQL 中生成唯一值

python - 为 pandas 数据框均匀分配随机值

assembly - 在混合上下文中选择 SSE 指令执行域

c++ - C++ 中包含固定大小数组的队列

c++ - Stringstream 解析逗号分隔的整数

c++ - (简单 C++)从文件中获取带有 vector 的矩阵