我必须生成两组随机矩阵 每个包含 3 位数字,范围从 2 - 10
那样
矩阵 1:994,878,129,121
矩阵 2:272,794,378,212
两个矩阵中的数字都必须大于 100 且小于 999
但是
两个矩阵的平均值必须是 1:2 或 2:3 的比率,无论用户输入是什么约束
我的数学技能有点有限,所以有什么想法可以实现吗?
最佳答案
为此,您必须知道每个列表中有多少个数字。我根据您的示例假设每个中有四个数字。
- 用四个随机数填充第一个列表。
- 计算第一个列表的平均值。
- 将平均值乘以 2 或 3/2,以用户输入的为准。这是第二个列表的所需均值。
- 乘以 4。这是第二个列表的要求总数。
- 生成 3 个随机数。
- 从第 4 步的总数中减去第 5 步中三个数字的总数。这是第二个列表的第四个数字。
- 如果第 6 步中的数字不在正确的范围内,请从第 5 步重新开始。
请注意,第二个列表中的最后一个数字并不是真正随机的,因为它基于列表中的其他值。
关于algorithm - 比率为 1 的随机数 :2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/240022/